同时删除多个CKRecords

时间:2015-06-16 18:46:21

标签: objective-c xcode icloud cloudkit

我已经在Objective-C编程了大约一年了,但我是云套件的新手。我可以做一些简单的事情,比如获取,保存和删除记录,但我一直无法找到删除多个记录的方法。 我尝试了一个for循环但是,虽然没有错误,但没有删除任何内容。 下面是一些代码:

      for (CKRecord* r in self.allRecords) {
        [[[CKContainer defaultContainer] publicCloudDatabase] deleteRecordWithID:r.recordID completionHandler:^(CKRecordID *recordID, NSError *error) {
            if (error) {
                NSLog(@"error");
            }else
                NSLog(@"deleted");
        }];
    }

allRecords是一个包含我需要删除的记录的数组,但它不会删除任何记录。 感谢

1 个答案:

答案 0 :(得分:0)

如果您需要在一次CloudKit往返中修改(即保存或删除)多条记录,则需要使用CKModifyRecordsOperationhttps://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKModifyRecordsOperation_class/index.html

你提到" allRecords是一个包含我需要删除的记录的数组,但它不会删除任何记录"。

目前尚不清楚您是否表示没有从CloudKit中删除记录,或者您的意思是记录未从self.allRecords数组中删除。

如果您希望从self.allRecords删除记录,则他们不会。在检查上面代码段中CKModifyRecordsOperationdeleteRecordWithID:completionHandler:来电的回复后,您的工作就是管理。