---
title: CKSyncEngineRecordZoneChangeBatch
framework: cloudkit
role: symbol
role_heading: Class
path: cloudkit/cksyncenginerecordzonechangebatch
---

# CKSyncEngineRecordZoneChangeBatch

An object that contains the record changes for a single send operation.

## Declaration

```occ
@interface CKSyncEngineRecordZoneChangeBatch : NSObject
```

## Topics

### Creating a batch

- [initWithPendingChanges:recordProvider:](cloudkit/cksyncenginerecordzonechangebatch/initwithpendingchanges:recordprovider:.md)
- [CKSyncEnginePendingRecordZoneChange](cloudkit/cksyncenginependingrecordzonechange.md)
- [initWithRecordsToSave:recordIDsToDelete:atomicByZone:](cloudkit/cksyncenginerecordzonechangebatch/initwithrecordstosave:recordidstodelete:atomicbyzone:.md)

### Managing atomicity

- [atomicByZone](cloudkit/cksyncenginerecordzonechangebatch/atomicbyzone.md)

### Managing the records

- [recordIDsToDelete](cloudkit/cksyncenginerecordzonechangebatch/recordidstodelete.md)
- [recordsToSave](cloudkit/cksyncenginerecordzonechangebatch/recordstosave.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

## See Also

### Sending changes

- [syncEngine:nextRecordZoneChangeBatchForContext:](cloudkit/cksyncenginedelegate-3c38p/syncengine:nextrecordzonechangebatchforcontext:.md)
- [CKSyncEngineSendChangesContext](cloudkit/cksyncenginesendchangescontext.md)
