首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CKModifyRecordsOperation不删除记录

CKModifyRecordsOperation不删除记录
EN

Stack Overflow用户
提问于 2015-12-02 14:36:16
回答 1查看 533关注 0票数 0

在查询之后,我收集了一个CKRecordID对象数组,希望从数据库中删除这些对象。它现在实际上包含了数据库中每个对象的ID,所以当有条目时很容易看到。

我首先尝试通过一个操作删除这些内容,如下所示:

代码语言:javascript
复制
let operation = CKModifyRecordsOperation(recordsToSave: nil, recordIDsToDelete: recordIDsToDelete)
operation.modifyRecordsCompletionBlock = {
    (savedRecords: [CKRecord]?, deletedRecordIDs: [CKRecordID]?, error: NSError?) in
    print("complete! deleted record IDs: \(deletedRecordIDs)")
}

self.operationQueue.addOperation(operation)

但是,尽管获得了回调,列出了我期望的所有记录I,但在检查仪表板时,所有项目仍然保留。

因此,我尝试了通过不同的方法,通过一个块,这是我宁愿避免,因为它没有把工作的操作:

代码语言:javascript
复制
for recordID in recordIDsToDelete {
    publicDB.deleteRecordWithID(recordID, completionHandler: {
        (recordID: CKRecordID?, error: NSError?) -> Void in
        print("deleted record id: \(recordID)")
        print("error: \(error)")
    })
}

这个很管用。当然,我可以通过该代码进行自己的操作,但似乎我遗漏了一些已经存在的操作不能工作的原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-02 15:08:04

在这里回答我自己的问题。

CKModifyRecordsOperation继承自CKDatabaseOperation,后者具有默认为私有数据库的数据库属性,因此这些操作是在不同的数据库上执行的。我简单地将数据库设置为公共数据库,所有这些都可以工作:

operation.database = CKContainer.defaultContainer().publicCloudDatabase

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34045399

复制
相关文章

相似问题

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