Instance Method

fetch(withRecordZoneID:completionHandler:)

Fetches one record zone asynchronously, with a low priority, from the current database.

Declaration

func fetch(withRecordZoneID zoneID: CKRecordZone.ID, completionHandler: @escaping (CKRecordZone?, Error?) -> Void)

Parameters

zoneID

The ID of the record zone. 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:

zone

The requested CKRecordZone object or nil if the object is not found or cannot be retrieved.

error

An error object, or nil if the record zone was fetched successfully. Use the information in the error object to determine whether a problem has a workaround.

Discussion

Use this method to retrieve a record zone whose ID you already know. You might retrieve a record zone object so that you can assess its capabilities.

This method fetches the record zone with a low priority, which may cause the task to execute after higher-priority tasks. To fetch the record zone more urgently, create a CKFetchRecordZonesOperation object with the desired priority. You can also use that operation object to fetch multiple record zones simultaneously.

See Also

Accessing Record Zones

func fetchAllRecordZones(completionHandler: ([CKRecordZone]?, Error?) -> Void)

Fetches all record zones asynchronously, with a low priority, from the current database.

func save(CKRecordZone, completionHandler: (CKRecordZone?, Error?) -> Void)

Saves one record zone asynchronously, with a low priority, to the current database.

func delete(withRecordZoneID: CKRecordZone.ID, completionHandler: (CKRecordZone.ID?, Error?) -> Void)

Deletes one record zone (and its contents) asynchronously, with a low priority, from the current database.