Learn Core Data with Swift!
This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to use Core Data to save data in their apps.
Start with with the basics like setting up your own Core Data Stack all the way to advanced topics like migration, performance, multithreading, and more!
Before You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.
Core Data by Tutorials
Begin your journey of learning core data with the basics like setting up your own Core Data Stack all the way to advanced topics like migration, performance, multithreading and more! By the end of this book, you’ll have hands-on experience with Core Data and will be ready to use it in your own apps.
You’ll click FileNew Project and write a Core Data app from scratch!
This chapter covers the basics of setting up your data model and then adding and fetching records.
NSManagedObject is the base data storage class of your Core Data object graphs.
This chapter will teach you how you customize your own managed object subclasses to store and validate data.
Under the hood, Core Data is made up of many parts working together. In this chapter, you’ll learn about how these parts fit together, and move away from the starter Xcode template to build your own customizable system.
Your apps will fetch data all the time, and Core Data offers many options for getting the data to you efficiently. This chapter covers more advanced fetch requests, predicates, sorting and asynchronous fetching.
Table views are at the core of many iOS apps, and Apple wants to make Core Data play nicely with them! In this chapter, you’ll learn how NSFetchedResultsController can save you time and code when your table views are backed by data from Core Data.
As you update and enhance your app, its data model will almost certainly need to change.
In this chapter, you’ll learn how to create multiple versions of your data model and then migrate your users forward so they can keep their existing data as they upgrade.
Testing is an important part of the development process, and you shouldn’t leave Core Data out of those tests! In this chapter, you’ll learn how to set up a separate test environment for Core Data and see examples of how to test your models.
No one ever complained that an app was too fast, so it’s important to be vigilant about tracking performance. In this chapter, you’ll learn how to measure your app’s performance with various Xcode tools and then pick up some tips for dealing with slow spots in your code.
In this chapter, you’ll expand the usual Core Data stack to include multiple managed object contexts. You’ll learn how this can improve perceived performance and help make your app architecture less monolithic and more compartmentalized.
This chapter shows you how to use the new NSPersistentCloudKitContainer to make your Core Data app sync across all the user’s devices!