---
title: "save(_:completionHandler:)"
framework: cloudkit
role: symbol
role_heading: Instance Method
path: "cloudkit/ckdatabase/save(_:completionhandler:)-32ffr"
---

# save(_:completionHandler:)

Saves a specific record zone.

## Declaration

```swift
func save(_ zone: CKRecordZone, completionHandler: @escaping @Sendable (CKRecordZone?, (any Error)?) -> Void)
```

## Parameters

- `zone`: The record zone to save.
- `completionHandler`: The closure to execute after CloudKit saves the record.

## Discussion

Discussion The completion handler takes the following parameters: The saved record zone (as it appears on the server), or nil if there’s an error. An error if a problem occurs, or nil if CloudKit successfully saves the record zone. For information on a more convenient way to save record zones, see modifyRecordZones(saving:deleting:).

## See Also

### Modifying Record Zones

- [modifyRecordZones(saving:deleting:)](cloudkit/ckdatabase/modifyrecordzones(saving:deleting:).md)
- [modifyRecordZones(saving:deleting:completionHandler:)](cloudkit/ckdatabase/modifyrecordzones(saving:deleting:completionhandler:).md)
- [delete(withRecordZoneID:completionHandler:)](cloudkit/ckdatabase/delete(withrecordzoneid:completionhandler:).md)
