Autoplay
Autocomplete
Previous Lesson
Complete and Continue
SwiftData Bootcamp: A Comprehensive Guide to Building Data-Driven Applications
Introduction
Prerequisites (0:52)
Exercise Files (0:44)
Course Updates
Private Slack Channel & Newsletter
Quarterly Live Q&A Sessions
Where did you hear about this course?
Refer a friend program
SwiftUI State Management Updates
What has Changed? (3:51)
@State (7:13)
@Bindable (8:24)
@Environment (9:20)
Getting Started with SwiftData
Saving Movie (15:43)
Fetching Movies (8:13)
Debugging SwiftData (3:14)
Deleting Movie (6:43)
Updating Movie (11:46)
Resource: Debugging Core Data
One-to-Many Relationship
NOTE: Xcode 15 Beta 6 Changes
One to Many Relationship (1:47)
Adding Review Relationship (5:31)
Saving Review (12:01)
NOTE: context.save vs context.insert
Displaying Reviews (4:21)
Deleting Review (3:59)
Deleting Review Fixed (5:32)
Many-to-Many Relationship
Many to Many Relationship (1:34)
Adding Actors Relationship (4:07)
Saving Actor (7:38)
Displaying All Actors (5:34)
Adding Actors to New Movie (13:24)
Display Actors for a Movie (5:31)
Allowing Actors to Select Movies (10:48)
FIX - Adding Movie After Deleting Causes an Error
Understanding Queries
IMPORTANT: Xcode 15 Updates for @Relationship and @Query
Understanding @Query Property Wrapper (7:38)
Implementing Enum Based Sheets (9:53)
Creating the User Interface to Support Filter Screen (7:34)
Filter by Movie Title (8:18)
NOTE: Update about @Transient Macro
Using @Transient Macro to Display Actors and Reviews Count for a Movie (4:28)
Filter by Reviews (6:51)
Filter by Actors (3:21)
Versioning/Migrations
What is Versioning? (4:40)
NOTE: Changes in versionIdentifier
Implementing Custom Migration (19:34)
Lightweight Migrations (12:24)
Persisting Genre and Performing Filters Based by Genre
Understanding the Starter Project (1:51)
Implementing Genre Model (4:47)
Saving Genre (6:38)
Filtering Movies Based on Genre (Discovering Issues with Genre Enum) (8:04)
Filtering Movies Based on Genre (Using GenreId for Filter) (6:09)
Filtering Movies and Persisting State of the Filters (8:08)
Persisting and Displaying Transformable Properties in SwiftData
What we will be building? (1:07)
Implementing the Room Model (4:22)
Implementing UIColorTransformer (5:55)
Setting Up User Interface (ColorSelector) (6:44)
Persisting Room Using SwiftData (5:29)
Displaying All Rooms (4:38)
Testing
Understanding the Starter Project (6:13)
Setting Up Test Project and Writing Your First Test (13:25)
Writing Tests to Calculate Budget Total and Remaining Amount (8:10)
Setting Up Project for End-to-End Testing (6:57)
Writing End-to-End Test for BudgetCategory and Transaction Flow (25:13)
Unit Testing SwiftData Domain Models (BONUS CONTENT) (20:07)
Syncing Data with iCloud Using CloudKit
What we will building? (0:53)
CloudKit - Persist and Display Vegetables (12:39)
CloudKit - Adding Notes Relationship (8:59)
CloudKit - Preview Container (16:15)
Configuring CloudKit (6:27)
Resolving CloudKit Errors (9:34)
Live Syncing Vegetable Notes (7:07)
Integrating SwiftData with UIKit Applications
Apple's Documentation on Using Non SwiftUI Framework (1:55)
Tour of the Starter Project (3:10)
Setting Up the Model Container (4:58)
Adding a New Todo Item (7:29)
Displaying Todo Items (9:07)
Storing Binary Data Using SwiftData
What we will be building in this section? (1:33)
Tour of the Starter Project (5:06)
Saving Binary Data (Images) (13:41)
Displaying Images (6:02)
Behind the Scenes (Debugging SwiftData) (12:09)
Credit for Images
Migrating Core Data App to SwiftData
Tour of the App (2:40)
Performing Full Migration of Todo App (8:47)
Shared Store for Core Data and SwiftData (21:06)
Miscellanies
SwiftData Common Problems, Limitations and Bugs (25:38)
Dynamic Predicates in SwiftData (10:10)
Debugging SwiftData (7:59)
Grouping Data (13:24)
Recursive Tree Structure Using SwiftData (12:03)
Fetching Data from JSON API and Inserting into Store Using SwiftData (32:26)
Populating SwiftData from Server (ETag) Explained (23:45)
Conclusion
Next Steps (0:40)
Earn with us
Teach online with
NOTE: Changes in versionIdentifier
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock