ios 如何将ckrecords从默认区域迁移到自定义区域?

aoyhnmkz  于 9个月前  发布在  iOS
关注(0)|答案(1)|浏览(135)

我需要迁移记录,因为'CKFetchRecordChangesOperation'对默认记录不起作用。我应该逐个迁移记录,还是有什么方法可以自动迁移?

8fsztsew

8fsztsew1#

是的,它需要一个接一个地完成。你需要从旧区域中获取所有的,然后为新的自定义区域创建一个新的,就像这样:

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

相关问题