---
title: perRecordCompletionBlock
framework: cloudkit
role: symbol
role_heading: Instance Property
path: cloudkit/ckmodifyrecordsoperation/perrecordcompletionblock
---

# perRecordCompletionBlock

The closure to execute when CloudKit saves a record.

## Declaration

```swift
var perRecordCompletionBlock: ((CKRecord, (any Error)?) -> Void)? { get set }
```

## Discussion

Discussion This property is a closure that returns no value and has the following parameters: The record that CloudKit saves. If CloudKit can’t save the record, an error that provides information about the failure; otherwise, nil. The closure executes once for each record in the recordsToSave property. Each time the closure executes, it executes serially with respect to the other record completion blocks of the operation. If you intend to use this closure to process results, set it before you execute the operation or submit the operation to a queue.

## See Also

### Processing the Modify Record Results

- [perRecordProgressBlock](cloudkit/ckmodifyrecordsoperation/perrecordprogressblock.md)
- [modifyRecordsCompletionBlock](cloudkit/ckmodifyrecordsoperation/modifyrecordscompletionblock.md)
