Deletes one record zone (and its contents) asynchronously, with a low priority, from the current database.
SDKs
- iOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 3.0+
Framework
- Cloud
Kit
Declaration
- (void)deleteRecordZoneWithID:(CKRecord Zone ID *)zoneID completionHandler:(void (^)(CKRecord Zone ID *zoneID, NSError *error))completionHandler;
Parameters
zoneID
The ID of the zone you want to delete. This method throws an exception if this parameter is
nil
.completionHandler
The block to execute with the results. Your block must be capable of running on any thread of the app and must take the following parameters:
- zoneID
The ID of the zone that you tried to delete.
- error
An error object, or
nil
if the record zone was deleted successfully. Use the information in the error object to determine whether a problem has a workaround.
Discussion
Deleting a zone permanently deletes the zone and all records in that zone. After deleting the zone, you can use the same ID to create a new empty zone.
This method deletes the record zone with a low priority, which may cause the task to execute after higher-priority tasks. To delete the record zone more urgently, create a CKModify
object with the desired priority. You can also use that operation object to delete multiple record zones simultaneously.