|Type||Topic||Plugin||Version||macOS||Windows||Linux||Console & Web||iOS|
|class||CloudKit||MBS Mac64bit Plugin||16.5||Yes||No||No||Yes, macOS only||No|
Zones are a way to group related records together. You create zone ID objects when you want to fetch an existing zone object or create a new zone with a specific name.
A record zone ID distinguishes one zone from another by a name string and the ID of the user that created the zone. Both strings must be ASCII strings that do not exceed 255 characters. For automatically created record zones, the ID name string is based on a UUID and is therefore guaranteed to be unique. When creating your own record zone ID objects, you are free to use names that have more meaning to your app or to the user, providing each zone name is unique within the specified database. The owner name must be either the current user name (obtained from the fetchUserRecordID method) or the name of another user.
When creating new record zones, make the name string in the record zone ID unique in the target database. Public databases do not support custom zones, and zones in a private database can only be created by the user that owns the database.
This class is not intended to be subclassed.
Interacting with Record Zone IDs
After you create a CKRecordZoneIDMBS object, interactions with that object typically include:
- Creating a CKRecordIDMBS object so that you can fetch or create records in that zone.
- Retrieving an existing CKRecordZoneMBS object from the database.
You do not need to create a CKRecordZoneIDMBS object in order to create a CKRecordZoneMBS object. The CKRecordZoneMBS class has initialization methods that create a record zone ID using the name string you provide.
Creating Record Zone IDs to Use with Records
To create a new record in a custom zone, first create a CKRecordZoneIDMBS object that specifies the zone name. Use the record zone ID to create a CKRecordID and then use the record ID to create the record itself.
Fetching a Record Zone Object from the Database
To fetch a CKRecordZoneMBS object from a database, use a CKFetchRecordZonesOperationMBS object or the fetchRecordZoneWithID method of the CKDatabaseMBS class. Both techniques take a CKRecordZoneIDMBS object that you provide and retrieve the corresponding record zone object asynchronously. If you use the operation object, you can retrieve multiple record zones at the same time.
- 3 properties
- 3 methods
- shared method Available as Boolean
This class has no sub classes.
Some methods using this class:
- CKDatabaseMBS.deleteRecordZone(zoneID as CKRecordZoneIDMBS, tag as Variant = nil)
- CKDatabaseMBS.fetchRecordZoneWithID(zoneID as CKRecordZoneIDMBS, tag as Variant = nil)
- CKDatabaseMBS.performQuery(query as CKQueryMBS, zoneID as CKRecordZoneIDMBS, tag as Variant = nil)
- CKFetchRecordChangesOperationMBS.Constructor(recordZoneID as CKRecordZoneIDMBS, previousServerChangeToken as CKServerChangeTokenMBS)
- CKFetchRecordZoneChangesOperationMBS.Constructor(recordZoneIDs() as CKRecordZoneIDMBS, optionsByRecordZoneID as Dictionary = nil)
- CKFetchRecordZoneChangesOperationMBS.recordZoneIDs as CKRecordZoneIDMBS()
- CKFetchRecordZoneChangesOperationMBS.setRecordZoneIDs(IDs() as CKRecordZoneIDMBS)
- CKFetchRecordZonesOperationMBS.Constructor(recordZoneIDs() as CKRecordZoneIDMBS)
- CKFetchRecordZonesOperationMBS.recordZoneIDs as CKRecordZoneIDMBS()
- CKFetchRecordZonesOperationMBS.setRecordZoneIDs(IDs() as CKRecordZoneIDMBS)
- CKModifyRecordZonesOperationMBS.Constructor(recordZonesToSave() as CKRecordZoneMBS, recordZoneIDsToDelete() as CKRecordZoneIDMBS)
- CKModifyRecordZonesOperationMBS.recordZoneIDsToDelete as CKRecordZoneIDMBS()
- CKModifyRecordZonesOperationMBS.setRecordZoneIDsToDelete(IDs() as CKRecordZoneIDMBS)
- CKRecordIDMBS.Constructor(recordName as string, zoneID as CKRecordZoneIDMBS)
- CKRecordMBS.Constructor(RecordType as String, zoneID as CKRecordZoneIDMBS)
- CKRecordZoneMBS.Constructor(zoneID as CKRecordZoneIDMBS)
- CKRecordZoneSubscriptionMBS.Constructor(zoneID as CKRecordZoneIDMBS)
- CKRecordZoneSubscriptionMBS.Constructor(zoneID as CKRecordZoneIDMBS, subscriptionID as string)
- CKShareMBS.Constructor(RecordType as String, zoneID as CKRecordZoneIDMBS)
- CKSubscriptionMBS.Constructor(zoneID as CKRecordZoneIDMBS, subscriptionID as string, subscriptionOptions as Integer)
- CKSubscriptionMBS.Constructor(zoneID as CKRecordZoneIDMBS, subscriptionOptions as Integer)
Some properties using for this class:
- CKFetchRecordChangesOperationMBS.recordZoneID as CKRecordZoneIDMBS
- CKQueryOperationMBS.zoneID as CKRecordZoneIDMBS
- CKQuerySubscriptionMBS.zoneID as CKRecordZoneIDMBS
- CKRecordIDMBS.zoneID as CKRecordZoneIDMBS
- CKRecordZoneMBS.zoneID as CKRecordZoneIDMBS
- CKRecordZoneNotificationMBS.recordZoneID as CKRecordZoneIDMBS
- CKRecordZoneSubscriptionMBS.zoneID as CKRecordZoneIDMBS
- CKSubscriptionMBS.zoneID as CKRecordZoneIDMBS
Some events for this class:
- CKDatabaseMBS.deleteRecordZoneWithIDCompleted(zoneID as CKRecordZoneIDMBS, error as NSErrorMBS, tag as Variant)
- CKDatabaseMBS.fetchRecordZoneWithIDCompleted(zoneID as CKRecordZoneIDMBS, zone as CKRecordZoneMBS, error as NSErrorMBS, tag as Variant)
- CKDatabaseMBS.performQueryCompleted(query as CKQueryMBS, zoneID as CKRecordZoneIDMBS, results() as CKRecordMBS, error as NSErrorMBS, tag as Variant)
- CKFetchDatabaseChangesOperationMBS.recordZoneWithIDChanged(zoneID as CKRecordZoneIDMBS)
- CKFetchDatabaseChangesOperationMBS.recordZoneWithIDWasDeleted(zoneID as CKRecordZoneIDMBS)
- CKFetchRecordZoneChangesOperationMBS.recordZoneChangeTokensUpdated(recordZoneID as CKRecordZoneIDMBS, serverChangeToken as CKServerChangeTokenMBS, clientChangeTokenData as MemoryBlock)
- CKFetchRecordZoneChangesOperationMBS.recordZoneFetchCompleted(recordZoneID as CKRecordZoneIDMBS, serverChangeToken as CKServerChangeTokenMBS, clientChangeTokenData as MemoryBlock, moreComing as boolean, recordZoneError as NSErrorMBS)
- CKModifyRecordZonesOperationMBS.modifyRecordZonesCompleted(savedRecordZones() as CKRecordZoneMBS, deletedRecordZoneIDs() as CKRecordZoneIDMBS, operationError as NSErrorMBS)
The items on this page are in the following plugins: MBS Mac64bit Plugin.
MBS Xojo blog