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 Inheritance
- Attribute Type
- JSON parsing with Codable to NSManagedObject
- Batch Fetching and Update
- Object Deletion
- Asynchronous Fetching
- Aggregate Functions
- 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.
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 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
- Some knowledge of SwiftUI development would be helpful