---
title: "init(recordZoneIDs:configurationsByRecordZoneID:)"
framework: cloudkit
role: symbol
role_heading: Initializer
path: "cloudkit/ckfetchrecordzonechangesoperation/init(recordzoneids:configurationsbyrecordzoneid:)"
---

# init(recordZoneIDs:configurationsByRecordZoneID:)

Creates an operation for fetching record zone changes.

## Declaration

```swift
convenience init(recordZoneIDs: [CKRecordZone.ID]? = nil, configurationsByRecordZoneID: [CKRecordZone.ID : CKFetchRecordZoneChangesOperation.ZoneConfiguration]? = nil)
```

## Parameters

- `recordZoneIDs`: The IDs of the record zones that you want to query for changes. You can specify nil for this parameter.
- `configurationsByRecordZoneID`: A dictionary that maps record zone IDs to their corresponding configurations. You can specify nil for this parameter.

## Discussion

Discussion CloudKit configures the operation for retrieving all of the record zones that you specify. If you want to reduce the amount of data that CloudKit returns, provide zone configurations for each record zone.

## See Also

### Creating a Zone Change Operation

- [init()](cloudkit/ckfetchrecordzonechangesoperation/init().md)
