我在删除 CloudKit 记录时遇到问题。这是我第一次处理 API,显然有两种方法可以做到这一点。
保存记录是直截了当的,表面上也是如此,删除它们,除非这样做:
func deleteRecords() {
let recordID = record.recordID
publicDatabase.delete(withRecordID: recordID) { (recordID, error) in
guard let recordID = recordID else {
print(error!.localizedDescription)
return
}
print("Record \(recordID) was successfully deleted")
}
}
我知道使用 ackModifyRecordsOperation
是另一种方法,但这是一个批处理操作。我一次只需要删除一条记录。这是我的代码:
func batchDelete() {
let recordIDsToDelete = [CKRecordID]()
let operation = CKModifyRecordsOperation(recordsToSave: nil, recordIDsToDelete: recordIDsToDelete)
operation.modifyRecordsCompletionBlock = { savedRecords, deletedRecordIDs, error in
// handle errors here
}
publicDatabase.add(operation)
print("Batch \(recordIDsToDelete) record was successfully deleted")
}
这些单独或一起都不适合我。