in Encryption/ViewModels/ViewModel.swift [135:155]
func deleteContacts(_ contacts: [Contact], completionHandler: @escaping (Result<Void, Error>) -> Void) {
let recordIDs = contacts.map { $0.associatedRecord.recordID }
guard !recordIDs.isEmpty else {
debugPrint("Attempted to delete empty array of Contacts. Skipping.")
return
}
let deleteOperation = CKModifyRecordsOperation(recordIDsToDelete: recordIDs)
deleteOperation.modifyRecordsResultBlock = { [weak self] result in
DispatchQueue.main.async {
if case .failure(let error) = result {
self?.handleError(error)
}
completionHandler(result)
}
}
database.add(deleteOperation)
}