【问题标题】:How to update CKRecord by CKModifyRecordsOperation?如何通过 CKModifyRecordsOperation 更新 CKRecord?
【发布时间】:2020-07-21 14:32:22
【问题描述】:

我知道使用 ID 更新 CKRecord 只是使用 fetchRecordWithID 并使用 CKModifyRecordsOperation 如下所示。

publicData.fetchRecordWithID(recordIDToSave) { (record, error) in

if let recordToSave =  record {

    //Modify the record value here
    recordToSave.setObject("value", forKey: "key")

    let modifyRecords = CKModifyRecordsOperation(recordsToSave:[recordToSave], recordIDsToDelete: nil)
    modifyRecords.savePolicy = CKRecordSavePolicy.AllKeys
    modifyRecords.qualityOfService = NSQualityOfService.UserInitiated
    modifyRecords.modifyRecordsCompletionBlock = { savedRecords, deletedRecordIDs, error in
        if error == nil {
            print("Modified")
        }else {
            print(error)
        }
    }
        publicData.addOperation(modifyRecords)
    } else {
        print(error.debugDescription)
    }
}

但是我可以在没有 fetchRecord 的情况下更新记录吗?

【问题讨论】:

    标签: ios swift icloud cloudkit ckmodifyrecordsoperation


    【解决方案1】:

    我找到了解决办法。

    只需将 CKModifyRecordsOperation 操作的保存策略设置为 changedKeys。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 2013-07-14
      • 1970-01-01
      相关资源
      最近更新 更多