gpt4 book ai didi

ios - 发布更新 CKRecord

转载 作者:搜寻专家 更新时间:2023-11-01 06:05:56 24 4
gpt4 key购买 nike

我无法保存已保存的记录。 recordToSave 是从服务器下载的 CKRecord。可以更新吗?

recordTosave.setValue("cat", forKey: "animal")

let publicData = CKContainer.defaultContainer().publicCloudDatabase

publicData.saveRecord(recordToSave, completionHandler:{(record: CKRecord?, error: NSError?) in
if error == nil{

}else{
print(error.debugDescription)
}
})

最佳答案

您不能插入已存在于 cloudkit 中的记录。您可以使用 CKModifyRecordsOperation 修改记录。使用记录ID获取记录,然后通过修改操作更新。

let recordIDToSave = CKRecordID(recordName: "recordID")
let publicData = CKContainer.defaultContainer().publicCloudDatabase

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)
}
}

关于ios - 发布更新 CKRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37551659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com