Как инициализировать CKRecord с помощью zoneID и recordID?
В настоящее время я создаю решение для синхронизации записей Core Data
с записями CloudKit
.
CKRecord
возможно.
Я проверил документацию Apple CloudKit, экспериментировал и искал в интернете, но не нашел нужного мне ответа.
Я хотел бы инициализировать CKRecord с помощью zoneID
, а также recordID
, которые я бы предоставил в методе init.
Инициализатор, похоже, заставляет меня выбирать между ними. Я
хочу создайте свой собственный ZoneID (не используя default), а также установите recordID
вместо его автогенерации.
Возможно ли это?
1 ответ:
Вы можете указать как идентификатор зоны, так и идентификатор записи, но это нужно сделать в три этапа:
Сначала создайте
CKRecordZoneID
с вашим идентификатором зоны и пользователем:let ckRecordZoneID = CKRecordZoneID(zoneName: "myZone", ownerName: CKOwnerDefaultName)
Затем вы можете создать
CKRecordID
с требуемым идентификатором записи и указать вашCKRecordZoneID
:let ckRecordID = CKRecordID(recordName: recordIDString, zoneID: ckRecordZoneID)
Наконец, вы можете создать
CKRecord
, используя этот идентификатор записи:let ckRecord = CKRecord(recordType: myRecordType, recordID: ckRecordID)