Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Programming macOS Apps Using SwiftUI - Project Based Learning
Introduction
Prerequisites (1:34)
Course Agenda (2:26)
Private Slack Channel
Quarterly Live Q&A Sessions
Where did you hear about this course?
Refer a friend program
Quick Tour of SwiftUI
What is SwiftUI? (1:37)
VStack, HStack and ZStack (12:28)
List (4:28)
Images (5:14)
State Management in SwiftUI
Understanding @State - Example 1 (7:21)
Understanding @State - Example 2 (8:04)
Understanding @Binding - Example (11:01)
Understanding @EnvironmentObject - Example 1 (12:26)
What is @Environment? (3:20)
Understanding @Environment - Example (6:32)
Understanding @Environment - Example 2 (1:53)
Understanding MVVM Design Pattern
What are Design Patterns? (1:12)
What is MVVM? (2:41)
Why MVVM? (2:32)
MVVM Architecture and Web APIs (1:42)
Resources
Reminders App - Creating, Deleting and Displaying Lists
What we will be building? (2:38)
Setting Up the App UI Structure Using Two Column Layout (7:15)
Creating the Core Data Model (8:09)
Implementing CoreDataManager (4:39)
Adding AddNewListViewModel (5:11)
Implementing BaseModel Protocol (4:25)
Designing AddNewListView (15:40)
Implementing NSColorTransformer to Save Transformable Type NSColor (4:07)
Registering NSColorTransformer (2:11)
Implementing MyListsViewModel (13:45)
Displaying Lists on the Screen (11:02)
Deleting Lists (8:36)
Reminders App - Managing List Items
Adding List Items Core Data Relationship in Core Data Model (7:52)
Implementing MyListItemsHeaderView and MyListItemsView (7:06)
Implementing MyListItemViewModel (11:41)
Adding AddNewListItemView (11:58)
Saving List Item (10:19)
Displaying List Items (7:07)
Implementing ListItemCell (11:02)
Deleting List Items (6:48)
Updating List Items (21:53)
Observing NSNotification ManagedObjectContextObjectsDidChange (7:05)
Implementing Marking Item for Completion (8:54)
Implementing Delay (6:04)
Displaying List Item Count (8:31)
Displaying Default List (2:31)
Maps - Setup and Displaying User Location
What we will be building? (2:50)
Setting Up Structure Using Two Column Layout (5:25)
Displaying Map and User's Location (6:41)
Zooming in User's Location (5:08)
Implementing Location Manager (9:04)
Maps - Searching and Displaying Nearby Points of Interest
Adding a Search Bar (6:06)
Searching Close by Points of Interests Using MKLocalSearch (7:43)
Displaying Search Results (11:22)
Calculating and Displaying Distance (11:15)
Maps - Displaying, Selecting Annotations
Displaying Annotations on Map (4:29)
Displaying a Callout View (11:05)
Show Snapshot of the Location (5:53)
Showing Place Details by Selecting from the Search Result List (7:35)
Maps - Directions and Route
Calculating Directions (9:49)
Displaying Directions Part 1 (11:26)
Displaying Directions Part 2 (16:11)
Creating Directions Overlay on the Map (3:58)
Maps - Preferences and Distance Conversions
Creating the Preferences Window (9:23)
Adding Views to Preferences Window (8:13)
Changing Color Schema (3:21)
Implementing Distance Formatter (12:28)
Displaying Distance in Miles and Kilometers (10:22)
Showing Distance on Directions (4:01)
Stocks - Displaying Stocks from an API
What we will be building? (2:22)
Setting Up Two Column Structure (5:07)
Fetching Stocks from JSON API (7:07)
Setting Global State and Implementing StockListViewModel (9:30)
Displaying Stocks (12:25)
Styling Stocks Display (11:53)
Fetching and Displaying Stocks at Regular Intervals (3:51)
Searching Stocks (2:55)
Stocks - Displaying Stock News
Registering Account with NewsAPI.org (2:37)
Creating Data Models for Decoding JSON (8:29)
Fetching all Business News (3:10)
Implementing StockArticleListViewModel (7:18)
Displaying Business News (18:37)
Stocks - Displaying News by Stock
Fetching News by Stock (7:08)
Implementing StockDetailViewModel (4:50)
Implementing StockDetailScreen (6:13)
Implementing Route Enum (4:50)
Changing Screens Using Route (13:29)
Displaying Graph of Stocks Historical Prices (16:52)
Stocks - WebView and Navigation
Implementing WebViewScreen (7:33)
Implementing WebView Using UIViewRepresentable (6:57)
Improving Routing Part 1 (6:59)
Improving Routing Part 2 (Dividing Global State) (10:53)
Improving Routing Part 3 (Push/Pop for Routing) (4:44)
Showing Business Articles (3:22)
MenuBar Apps
Creating MenuBar App Using UIKit
Creating MenuBar App Using SwiftUI
Conclusion
Next Steps (0:40)
Earn with us
Teach online with
Implementing StockDetailViewModel
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock