如果数据保存在自定义的CKRecordZone,我们也需要在CKRecord.ID中指明。 该订阅只能用于私有数据库和共享数据库中自定义的CKRecordZone,并只会通知订阅的创建者。在以后的文章中,我们可以看到Core Data with CloudKit是如何在私有库中使用该订阅的。 CKRecordZoneNotification,当用户、或者在某些情况下,CloudKit修改该区域(CKRecordZone)的记录时,记录区的订阅就会执行,例如,当记录中某个字段的值发生变化时。 •初始化:1.创建CKContainer2.根据NSManagedObjectModel配置Schema3.在私有数据库中创建ID为com.apple.coredata.cloudkit.zone的CKRecordZone4
CKRecordZone: Record 不是以零散的方式存在于 database 之中的,它们位于 record zones 里。
let zone = CKRecordZone(zoneName: "myZone")let newStudent = CKRecord(recordType: "Student",
CKRecordZone —— CloudKit 还引入了 RecordZone 的概念,来给不同的数据进行分区,与 Mongodb 中的 collection 比较相似。
init(recordZoneID: CKRecordZone.ID) 此种共享方式更适合数据集较大、关系较复杂的应用场景。
如何为每个文档创建唯一的 CKRecordZone ?A:当前的 NSPersistentCloudKitContainer 不支持这样的用法。