如何删除CKRecord

时间:2015-05-19 21:36:44

标签: ios swift cloudkit ckrecord

如何在客户端以编程方式从我的数据库中删除CKRecord

for record in records {
    if recordNumber < 13 {
        let moodRecord:CKRecord = record as! CKRecord
        self.moodArray.append(moodRecord.objectForKey("Color") as! String)
    }
    else if recordNumber > 13 {
        // DELETE RECORD HERE
        record.delete(CKRecord)
        recordNumber--
    }
    recordNumber++
}

2 个答案:

答案 0 :(得分:4)

这不是你在CloudKit中删除记录的方式。以下是我在应用中删除记录的方法:

let operation = CKModifyRecordsOperation(recordsToSave: nil, recordIDsToDelete: [record.recordID])
operation.savePolicy = .AllKeys
operation.modifyRecordsCompletionBlock = { added, deleted, error in
    if error != nil {
        println(error) // print error if any
    } else {
        // no errors, all set!
    }
}
CKContainer.defaultContainer().publicCloudDatabase.addOperation(operation)

答案 1 :(得分:0)

您可以使用

  

删除(withRecordID:completionHandler:)

apple docs

objc版本:

[aDatabase deleteRecordWithID:rec.recordID completionHandler:^(CKRecordID * _Nullable recordID, NSError * _Nullable error) {
    ;
 }];