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

问题描述 投票:0回答:1

我需要迁移记录,因为“CKFetchRecordChangesOperation”不适用于默认记录。是应该一一迁移,还是有什么办法自动迁移?

ios cloudkit
1个回答
3
投票

是的,需要一一完成。您需要从旧区域中获取所有内容,然后为新的自定义区域创建一个新区域,如下所示:

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

© www.soinside.com 2019 - 2024. All rights reserved.