CKRecordID
A CKRecordID
объект однозначно определяет запись в базе данных. Рекордные объекты ID обычно создаются автоматически, когда Вы создаете новую запись, но Вы могли бы также создать IDs в нескольких особых ситуациях. Например, когда Вы хотите сохранить запись в зоне кроме зоны по умолчанию, необходимо создать рекордные объекты ID. Можно также создать рекордные объекты ID, когда Вы хотите получить записи, IDs которых Вы знаете от базы данных.
Рекордный объект ID состоит из строки имени и зоны ID. Строка имени является строкой ASCII, не превышающей 255 символов в длине. Для автоматически создаваемых записей строка имени ID основывается на UUID и, как поэтому гарантируют, будет уникальна. При создании собственных рекордных объектов ID Вы свободны использовать имена, имеющие больше значения к Вашему приложению или пользователю, пока каждое имя уникально в указанной зоне. Например, Вы могли бы использовать название документа для строки имени.
Рекордный IDs должен быть уникальным в данной базе данных, но можно снова использовать рекордный IDs в различных базах данных. Каждый контейнер имеет общедоступную и частную базу данных, и частная база данных отличается для каждого уникального пользователя. Эта конфигурация позволяет Вам, повторное использование записывает IDs для частных данных каждого пользователя, но в общедоступной базе данных только одна запись может использовать определенный рекордный ID.
Этот класс не предназначается, чтобы быть разделенным на подклассы.
Взаимодействие с записью IDs
После создания a CKRecordID
объект, взаимодействия с тем объектом обычно включают создание новой записи или получение существующей записи от базы данных.
Вы могли бы также использовать рекордный IDs, когда Вы не можете использовать a CKReference
объект относиться к записи. Ссылки только допустимы в единственной зоне базы данных. Для обращения к объектам за пределами текущей зоны или базы данных сохраните строки в записи CKRecordID
и CKRecordZoneID
объекты. Когда Вы хотите получить запись позже, используйте те строки для воссоздания записи и зоны объекты ID так, чтобы можно было выбрать запись.
Создание записи IDs для новых записей
Для присвоения пользовательского рекордного ID новой записи необходимо создать CKRecordID
объект сначала. Необходимо знать намеченное имя и зональную информацию для той записи, которая могла бы также потребовать создания объекта CKRecordZoneID. После создания рекордного объекта ID инициализируйте свою новую запись с помощью initWithRecordType:recordID:
метод.
Используя запись IDs для выборки записей
Используйте рекордный ID для выборки соответствия CKRecord
объект от базы данных быстро. Вы выполняете работу выборки с помощью a CKFetchRecordsOperation
возразите или fetchRecordWithID:completion:
метод CKDatabase
класс. В обоих случаях запись возвращается к Вашему приложению асинхронно в блоке, который Вы обеспечиваете.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import CloudKit
Objective C
@import CloudKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Инициализирует и возвращает новый рекордный ID с указанным именем в зоне по умолчанию.
Объявление
Swift
convenience init!(recordName
recordName
: String!)Objective C
- (instancetype)initWithRecordName:(NSString *)
recordName
Параметры
recordName
Имя для использования для идентификации записи. Строка должна содержать только символы ASCII и не должна превышать 255 символов. Если Вы указываете
nil
или пустая строка для этого параметра, этот метод выдает исключение.Возвращаемое значение
Инициализированный рекордный ID возражает или
nil
если не может быть создан объект.Обсуждение
Используйте этот метод, когда Вы будете создавать или искать записи в зоне по умолчанию.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
init (recordName:zoneID:) - initWithRecordName:zoneID:
Определяемый инициализаторИнициализирует и возвращает новый рекордный ID с указанным именем и зональной информацией.
Объявление
Swift
init!(recordName
recordName
: String!, zoneIDzoneID
: CKRecordZoneID!)Objective C
- (instancetype)initWithRecordName:(NSString *)
recordName
zoneID:(CKRecordZoneID *)zoneID
Параметры
recordName
Имя для использования для идентификации записи. Строка должна содержать только символы ASCII и не должна превышать 255 символов. Если Вы указываете
nil
или пустая строка для этого параметра, этот метод выдает исключение.zoneID
ID зоны, в которую можно поместить запись. Этот параметр не должен быть
nil
.Возвращаемое значение
Инициализированный рекордный ID возражает или
nil
если не может быть создан объект.Обсуждение
Используйте этот метод, когда Вы будете создавать или будете искать записи в зоне кроме зоны по умолчанию. Значение в
zoneID
параметр должен представлять зону, уже существующую в базе данных. Если рекордная зона еще не существует, сохраните соответствиеCKRecordZone
возразите против базы данных прежде, чем попытаться спасти любогоCKRecord
объекты в той зоне.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
recordName recordName
Свойство -
ID зоны, содержащей запись. (только для чтения)
Объявление
Swift
var zoneID: CKRecordZoneID! { get }
Objective C
@property(nonatomic, readonly, strong) CKRecordZoneID *zoneID
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.