如何在客户端以编程方式从我的数据库中删除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++
}
答案 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:)
objc版本:
[aDatabase deleteRecordWithID:rec.recordID completionHandler:^(CKRecordID * _Nullable recordID, NSError * _Nullable error) {
;
}];