Course Information
Course Overview
Master the Core Data with SwiftUI, and take your iOS development skills to the next level
SwiftUI Series - Core Data in SwiftUI
This course was created and updated for Core Data with SwiftUI. If your project is dealing with Core Data in Swift with ViewController approach, or you intend to learn the previous version, my other course CoreData for Swift Development is the course you want.
I am new to SwiftUI, is this the right course for me?
Although prior SwiftUI experience is not required, it is recommended. If you are new to SwiftUI, it would be helpful to learn some fundamental in SwiftUI development. Udemy has lots of SwiftUI course. You may also check my SwiftUI course SwiftUI Series - SwiftUI Fundamentals to get yourself up-to-speed with SwiftUI development.
What is Core Data? Why should I know about Core Data?
Core Data is one of the most powerful framework that Apple has provided for developer. "Core Data is a framework that you use to manage the model layer objects in your application. It provides generalized and automated solutions to common tasks associated with object life cycle and object graph management, including persistence." - Source from Apple".
If you are passionate about learning mobile development with SwiftUI and looking to take your iOS development skills to the next level, Core Data framework should be at the top of your list.
What's in it for me?
In this course I will take you on a journey in the world of Core Data. We will cover all the important aspects of Core Data:
Entity
Entity Inheritance
Attribute Type
Relationships
ManagedObjectContext
ManagedObject
PersistentContainer
JSON parsing with Codable to NSManagedObject
Predicate
CompoundPredicate
Fetching
Batch Fetching and Update
Object Deletion
Asynchronous Fetching
NSFetchedResultsController
Aggregate Functions
Grouping
Caching
Data Model Versioning
Automatic Lightweight Migration
Manual Migration with Model Mapping
Background process
Automatic Subclass and Class Extension Generation
CloudKit Integration
Throughout this course we will look in detail the Core Data framework to provide data storage functionality in iOS applications. We will start by creating a simple app that is utilizing Core Data framework, building our own Persistence Container and eventually using all different Core Data features into our application.
Along with Core Data versioning, migration and iCloud integration, I will take you on developing 5 iOS applications and how we can integrate all of these components into Core Data.
Some notable updates from the previous version of Core Data course:
JSON Parsing with Codable .. bye bye Dictionary Mapping!!
We will look into several different techniques to parse JSON response (from sample and live API call) and transform them using Codable protocol directly into Core Data NSManagedObject. No more using dictionary mapping to build our Core Data object. We will cover this for simple Core Data Entities all the way to Entities with inheritance.
CloudKit
In one of the projects, we will demonstrate how to integrate the CloudKit into our app and to sync our data across multiple devices. Apple has done a wonderful job to make this process simple. We will also discuss some caveats so you will have an informed decision when integrating CloudKit to your project.
Predicate using KeyPath
In building our predicates, we will be using KeyPath approach to avoid any potential typo when creating the predicate arguments. It will map directly to object property using the dot notation.
All SwiftUI
All views, models and services class are built for SwiftUI. Along the way, you will also learn the SwiftUI development techniques in building Core Data applications.
Do at your own pace
Lots of students have different methods of learning. Through out this course I will provide both the starter and final Xcode project solution, so you can either follow along one step at a time or you can jump directly to the final solution. By the time you are done with SwiftUI Series - Core Data in SwiftUI course, you will be ready and very confident to take on any Core Data project coming your way. On top of that, you will be one step closer to become a well rounded iOS developer.
Target Audience: All iOS developer that would like to take their skills to the next level.
What are the requirements?
A Mac laptop or iMac
Xcode
Some knowledge of SwiftUI development would be helpful
Course Content
- 9 section(s)
- 43 lecture(s)
- Section 1 Course Overview
- Section 2 First Core Data App: Reminder App
- Section 3 Deletion Rule
- Section 4 NSFetchedResultsController
- Section 5 Entity Inheritance, Complex Search and Aggregate Functions
- Section 6 Context Thread Management
- Section 7 Alternative Object Model Generation
- Section 8 Data Model Versioning and Migration
- Section 9 CloudKit Integration
What You’ll Learn
- Developing SwiftUI applications with Core Data backend for data persistence.
Skills covered in this course
Reviews
-
AAlex Pilugin
This course is very useful from a first minute! I am happy to have the opportunity to learn such a course from a tutor with a professional experience in this field! Unfortunately I changed my mind and I have changed the rating and edited my Review. It looks like this course is abandoned and the author don't answer questions anymore. I hope he is alive, well and in safe. I will be happy to see a bit more explanation and more examples, for instance, to show to rewrite the same app from previous sections (the Reminder app from Section 2 and Section 3) with another approach - adding CoreData to the Existing Project and initialisation of linked classes from json file.
-
LLevent Mollamustafaoğlu
This is a disappointing course. The implementation is quite convoluted and simple techniques like ObservedObjects are not used, thus having to implement "delegates" (which had disappeared, I thought, with the introduction of SwiftUI and the declarative logic). In RatingView, the author just declares movie as a local variable instead of @ObservedObject and as such has to implement separate delegate logic to have "live" updates. If you pass observable objects to sub-views, then any changes to the values of these objects would be reflected automatically (that's the whole idea of SwiftUI, isn't it?). I'm hoping that I could get some value from the Inheritance and model versioning sections, otherwise the whole course gives you the wrong idea of how to use SwiftUI with Core Data
-
CCarlos Guidobono
Good content, but forget about getting any auswertet/feedback. You are on your own
-
RRobert Louis
I use Xcode Version 14.0 beta (14A5228q) with Ventura 13.0 (22A5342f), I have some build errors: private func addItem() {. + Attribute 'private' can only be used in a non-local scope and same error with : private func deleteItems(offsets: IndexSet) {