我需要迁移记录,因为“CKFetchRecordChangesOperation”不适用于默认记录。是应该一一迁移,还是有什么办法自动迁移?
是的,需要一一完成。您需要从旧区域中获取所有内容,然后为新的自定义区域创建一个新区域,如下所示:
func newRecord(from record: CKRecord, newZone: CKRecordZone) -> CKRecord {
let recordID = CKRecordID(recordName: record.recordID.recordName, zoneID: newZone.zoneID)
let newRecord = CKRecord(recordType: "Goal", recordID: recordID)
newRecord["startDate"] = record["startDate"]
newRecord["endDate"] = record["endDate"]
newRecord["hours"] = record["hours"]
return newRecord
}
并保存到
CKDatabase
。