The main arguments for using more complex architectural models with core data are to improve either bulk insert performance or more performant merging between edited and final contexts. The most performant way used to be a multi-coordinator model, which added lots of complexity. Learn how Core Data in 2016 brings a new model that should prove as performant as this older, more complex pattern, while simplifying the merge process.
- With the latest changes in core data,…we get a lot of great stuff, and one of those includes…the concept of a multi-read/single write process.…To understand why this is cool, we want to first talk about…what core data was like up until now.…Here are a couple of examples of an architecture…that you could apply.…On the left, we have a single coordinator.…On the right, we have a couple of coordinators…and the reason for this is sometimes if you have…a lot of bulk data to insert, you would want to not block…on the data layer while your app is still running.…
The solution was to make another coordinator.…Basically, the lock happens at this layer, and it means that…only one process is going to happen at a time.…You're either going to read or you're going to write.…Depending on the number of coordinators, you can read…multiple ones, but you can only write once.…Again, the concept is one read or one write per coordinator…and underneath, the SQLite layer,…you can have many reads and one write.…The only way to get around that…
This course is meant for the enterprise developer who wants to get up to speed with the latest methods with Core Data. Instructor Jon Bott starts with a review of the basics, explaining the different architectural data models currently in use, the issues that can arise from these different models, and how the latest changes in Core Data 2016 simplify these models. He wraps up with hands-on migration to the new APIs and further tips on leveraging them in iOS 10 and macOS 10.12 apps.
- Fetching data
- Working with objects, queues, and threads
- Understanding the architectural models
- Managing local and server-side data
- Understanding iOS 10 and macOS 10.12 updates to Core Data
- Migrating to the new core data