首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发出更新CKRecord

发出更新CKRecord
EN

Stack Overflow用户
提问于 2016-06-01 01:01:31
回答 1查看 975关注 0票数 1

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

代码语言:javascript
复制
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)
    }
})
EN

回答 1

Stack Overflow用户

发布于 2016-06-01 17:23:15

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

代码语言:javascript
复制
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)
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37551659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档