<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "swift: 4.2.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CloudKit",
  "identifier" : "/documentation/CloudKit/CKFetchRecordZoneChangesOperation/recordWithIDWasDeletedBlock-3z14c",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "CloudKit"
    ],
    "preciseIdentifier" : "s:So33CKFetchRecordZoneChangesOperationC8CloudKitE27recordWithIDWasDeletedBlockySo10CKRecordIDC_SStcSgvp"
  },
  "title" : "recordWithIDWasDeletedBlock"
}
-->

# recordWithIDWasDeletedBlock

The closure to execute when a record no longer exists.

```
var recordWithIDWasDeletedBlock: ((CKRecord.ID, CKRecord.RecordType) -> Void)? { get set }
```

## Discussion

The closure returns no value and takes the following parameters:

- The deleted record’s ID.
- The deleted record’s type.

The operation executes this closure once for each record the server deletes after the previous change token. Each time the closure executes, it executes serially with respect to the other closures of the operation. If there aren’t any record deletions, this closure doesn’t execute.

Set this property before you execute the operation or submit it to a queue.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)