Core Data: Beyond the Basics
In this course, you’ll learn about how to fetch, sort and filter entries from a Core Data persistent store. You’ll also dive into some more advanced topics such as delete rules and Core Data with Swift Concurrency. By Josh Steele.
Learning path
This is part of the iOS Data & Networking learning path. View path.
Who is this for?
This course is designed for developers with some iOS and Swift experience who are interested in learning how to store data locally on devices.
Covered concepts
- Fetch Requests
- Sort Descriptors
- Predicates
- Batch Operations
- Core Data with Swift Concurrency
Part 1: Fetching & Displaying Launches
In this episode, get a recap of the first course in this series, and an overview of what you’ll learn in this course.
Understand how to use @FetchRequest and associated types to display the saved RocketLaunch in a list.
Learn how to sort fetched results by adding sort descriptors to your fetch requests.
Learn how to create predicates using NSPredicate to filter fetched results.
Learn how to dynamically adjust sort descriptors in response to user interaction in your app.
Understand how to create relationships between entities in your object graphs to make your data model richer.
Understand how to leverage the relationships in a model to display data without executing a fetch request.
Level up your knowledge of predicates by combining multiple using a compound predicate.
In this challenge add functionality to add tags to RocketLaunches by updating the data model.
In the second part of the challenge, update the user interface to display the tags you added in the last challenge!
Understand how to use transient properties to add functionality to your managed objects.
Wrap up this section by reviewing what you’ve learned about fetching from Core Data, and find out what’s coming next.
Part 2: Advanced Core Data
In this episode, you’ll get an overview of some more advanced topics you’ll cover in this section.
In this episode, learn how to asynchronous load a large amount of information from the network so you can save it to Core Data.
Learn how to save a large set of launches using Batch Operations.
Learn how to use asynchronous swift to save a large group of launches concurrently.
Understand the various types of delete rules you can specify when deleting managed object instances.
Now that you understand delete rules let’s implement delete methods for the RocketLaunches app.
Understand the difference between Transformable and Binary Data attributes and how you can save large files.
Wrap up this section by reviewing what you’ve learned in the course, and find out where to go next!