Core Data is an extremely powerful framework for managing and persisting data on your users’ devices. And let’s face it: saving data to your users’ devices is inevitable. The question is, which data management and persistence technology do you use when the time comes for you to tackle this challenge?
Core Data Fundamentals with Swift will give you the essential skills you need to architect an app to use Core Data.
Watch Core Data Fundamentals with Swift on Pluralsight
The introduction to the course: the motivating factors for using Core Data, course prerequisites, storyline overview, and a demo of the end product of the course.
I had a blast making the demo app. I put you in the scenario where we team up to build a prototype of an app that our Human Resources department has come to us with. They’ve noticed that employee morale is down a bit, so they’re implementing a new Employee Recognition program: an app that lets employees recognize one another for jobs well done with electronic “Shout Outs.”
Throughout the course, we work on this prototype app together!
Working with Core Data begins with setting up the Core Data stack. You will learn how to implement the stack, how to architect your app for testability and maintenance, and how to share Core Data components (such as NSManagedObjectContext) between view controllers.
Building a data model is the foundation for persisting information with Core Data. You will learn to create a data model in Xcode, and you will understand how to work with that model in Swift code.
Understanding the importance of relationships and how to build them is vital to the efficiency and expressiveness of your Core Data model. You will learn why building relationships is worth the investment, and then you will gain the skills to build these strategic links between entities in Xcode.
Having the ability to save data to a Core Data persistent store is essential. Being able to retrieve that data later for display, modification, or removal is just as critical. You will learn the mechanics of the Core Data framework classes involved with saving, accessing, and deleting data.
Displaying data in a user interface and keeping it synchronized with the state of the persistent store is a critical piece of the Core Data puzzle. You will learn how to use NSFetchedResultsController for keeping table views in sync, and examine the iOS Notification Center as an alternative way to detect and respond to changes in the persistent store.
It’s inevitable: you’re going to have to change your data model from its original form sooner or later. This module guides you in creating new versions of your data model and migrating your persistent store so that no data is lost as you make changes.
Be prepared for the latest enhancements to the Core Data framework. You will learn about NSPersistentContainer, designed to simplify the Core Data stack creation process. This concluding module also points you to resources that will help you build on your new Core Data foundation.
Demos of technology in action are super important to me. I packed as much demo content into the course as possible. You’ll get to see the full array of dev-time experiences, not just the final “it works perfectly” outcomes.
The course also comes complete with working Xcode projects that gradually build you up to the final version of the app, one step at a time through each module.
I welcome feedback on this course, and on other iOS development courses you might be interested in seeing in the Pluralsight library. Happy learning!