Combining CloudKit and Core Data
When you implement CloudKit in your app, it is always highly recommended to have a local cache of all CloudKit data. The previous section showed you how to fetch changes from the CloudKit database and how to process them. You also saw a very basic sample of how to send data to CloudKit. In this section, you will implement some helper methods on the Movie
and FamilyMember
classes. You will also add some extra properties to the Core Data models to facilitate CloudKit, and finally, you will implement the importing and exporting of CloudKit data.
Preparing the Core Data models for CloudKit
You might have noticed the following line in the code for creating a new CKRecord
that was shown in the previous section:
let recordId = CKRecord.ID(recordName: UUID().uuidString, zoneID: defaultZoneId)
The recordName
that is set on CKRecord.ID
is the unique identifier that CloudKit uses to store records. When you want to import data from CloudKit, you can use recordName
to check...