CKRecord
A CKRecord
объект является словарем пар ключ/значение, которые Вы используете, чтобы выбрать и сохранить данные Вашего приложения. Записи являются фундаментальными объектами, которые что Вы используете для управления данными в CloudKit. Можно определить любое число типов записи для приложения с каждым типом записи, соответствующим другому типу информации, в которой Вы нуждаетесь. В данном типе записи Вы тогда определяете одно или более полей, каждое из которых имеет имя и значение данных. Записи могут содержать простые типы данных, такие как строки и числа или более составные типы, такие как географические местоположения или указатели на другие записи.
Важный шаг в использовании CloudKit определяет типы записи Ваши поддержки приложений. Каждый новый рекордный объект не содержит ключей или значений первоначально. Во время разработки можно добавить новые ключи и значения в любое время. В первый раз Вы устанавливаете значение для ключа и сохраняете запись, партнеры сервера, вводящие с ключом для всех записей того же типа. ( CKRecord
класс не осуществляет эти ограничения типа или делает любую локальную проверку содержания записи; те ограничения осуществляются сервером при сохранении записей.)
Несмотря на то, что действие записей как словари, существуют все еще ограничения к типам значений, можно присвоиться к ключам. Таблица 1 перечисляет типы объектов что CKRecord
поддержки класса. Попытка указать объекты любого другого типа является ошибкой программиста и перестанет работать. Поля всех типов доступны для поиска, если не указано иное.
Тип данных |
Примечания |
---|---|
Используйте строки для хранения относительно мелких сумм текста. Несмотря на то, что сами строки могут быть любой длиной, необходимо использовать актив для хранения больших сумм текста. |
|
Используйте числа, чтобы хранить любую числовую информацию, включая целые числа и числа с плавающей точкой. |
|
Используйте объекты данных сохранить произвольные байты данных. Типичное использование для объектов данных должно отобразить байты, которые они содержат к a |
|
Используйте объекты даты хранить информацию дня и времени в доступной форме. |
|
Используйте массив для хранения одного или более объектов любого другого типа в этой таблице. Можно сохранить массивы строк, массивы чисел, массивы ссылок, и т.д. |
|
Используйте объект расположения хранить географические координатные данные. Вы используете расположения в сочетании с Базовой платформой Расположения или с любыми другими службами та информация о расположении дескриптора. |
|
Используйте объект актива связать находящийся на диске файл с записью. Активы глубоко связываются к записям, но управляются отдельно. Для получения дополнительной информации об использовании активов см. Ссылку класса CKAsset. |
|
Используйте ссылочный объект создать ссылку к связанной записи. Ссылка хранит ID целевой записи. Преимущество использования ссылки вместо того, чтобы хранить ID как строку состоит в том, что ссылки могут инициировать каскадные удаления зависимых записей. Недостаток - то, что ссылки могут только соединиться между записями в той же рекордной зоне. Для получения дополнительной информации см. Ссылку класса CKReference |
Взаимодействие с записями
Вы взаимодействуете с записями следующим образом:
Определите типы записи, представляющие Ваши данные.
Создайте записи и используйте их для сохранения информации к серверу.
Выберите существующие записи от базы данных и используйте их для заполнения локальных структур данных.
Получите и установите значения полей.
Процесс для определения Ваших типов записи зависит полностью от Вашего приложения и данных, которые Вы пытаетесь представлять. Лучше разрабатывать записи, инкапсулирующие данные для одной единицы информации. Например, Вы могли бы использовать один тип записи, чтобы сохранить имя сотрудника, должность и дату, найма, и использовать отдельный тип записи для хранения адресной информации. Используя различные типы записи позволяет Вам управлять, управлять и проверить два типа информации отдельно. Используйте поля, содержащие CKReference
объекты установить отношения между различными типами записей. После определения типов записи используйте Инструментальную панель iCloud для установки типов записи. Во время разработки можно также создать новые типы записи программно.
Создание новой записи
Когда Вы создаете новый CKRecord
объекты, укажите строку, соответствующую имени типа записи. Эта строка становится типом записи после того и не может быть изменена.
// Create a new record of type "employee".
CKRecord* myRecord = [[CKRecord alloc] initWithRecordType:@"employee"];
Новые записи существуют только в памяти, пока Вы явно не сохраняете их к iCloud. Кроме того, новые записи редки по умолчанию и не имеют никаких значений, присвоенных полям, которые Вы определили. (Фактически, пока Вы не устанавливаете значение ключа явно, получать значение ключа в новой записи возвращается nil
.) Даже при том, что запись имеет связанный тип, та информация о типе проигнорирована, пока Вы не сохраняете запись.
Получение и установка полей
Вы получаете доступ к полям a CKRecord
возразите тому же способу, которым Вы получаете доступ к парам ключ/значение в NSMutableDictionary
. CKRecord
класс определяет objectForKey:
и setObject:forKey:
методы для получения и установки значений. Это также поддерживает индексную нотацию словаря. Следующий пример показывает, как использовать оба метода для установки названного поля firstName
и назовите поле lastName
от данной записи.
// Equivalent ways to set a value.
[myRecord setObject:@"Jacob" forKey:@"firstName"];
myRecord[@"firstName"] = @"Jacob";
// Equivalent ways to get a value.
id value = [myRecord objectForKey:@"lastName"];
value = myRecord[@"lastName"];
Вы не обязаны присваивать значения каждому полю записи прежде, чем сохранить его. Также допустимо удалить существующее значение. Установка поля к nil
и сохранение записи удаляет значение для того поля на сервере.
Выборка существующей записи
Для получения записи, ID которой Вы уже знаете используйте a CKFetchRecordsOperation
возразите или fetchRecordWithID:completion:
метод CKDatabase
. Оба метода выбирают запись асинхронно и вызывают Ваш обработчик завершения или с результатами или с ошибкой.
Для получения записи, ID которой Вы не знаете сконфигурируйте a CKQuery
объект с поисковыми параметрами для Вашей записи и затем выполняет тот запрос с помощью aCKQueryOperation
объект. Запросы ищут записи, поля которых соответствуют критерии, которые Вы указываете. Запрос содержит выражение предиката, должен был соответствовать значение в поле со значением, которое Вы ищете. Предикат может относиться к полям записи (включая поля метаданных) по имени. В случае полей метаданных используйте имя соответствующего свойства непосредственно в Вашем запросе. Например, для поиска записей их датой создания Вы создали бы предикат, соответствующий значения против»creationDate
” поле.
Сохранение записи
Для сохранения записи на сервер используйте a CKModifyRecordsOperation
возразите или saveRecord:completion:
метод CKDatabase
. Оба метода сохраняют запись и ее содержание асинхронно и вызывают Ваш обработчик завершения с результатами или ошибкой.
Для новых записей Вы не обязаны присваивать значения каждому полю записи прежде, чем сохранить его. Пакеты CloudKit данные, присутствующие в записи и отправляющие ее в сервер. Поля с nil
значения не занимают дополнительное место на сервере и могут быть установлены в любое время позже.
Индексация полей записи
Индексы позволяют искать содержание Ваших записей эффективно. Во время разработки сервер индексирует все поля, типы данных которых могут использоваться в предикате запроса. Это автоматическое индексирование упрощает экспериментировать с запросами во время разработки, но эти индексы занимают место в базе данных и занимают время, чтобы генерировать и поддержать. Таким образом, при миграции на продуктивную среду, удалите индексы для любых полей, которые Вы фактически не используете в запросах.
Для управления поведением индексации записей в продуктивной среде используйте Инструментальную панель CloudKit. При миграции схемы от среды разработки до продуктивной среды позвольте индексировать только для полей, которые приложение использует в запросах, и отключите его для всех других полей.
Настройка записей
CKRecord
класс не поддерживает специальных настроек и не должен быть разделен на подклассы. Используйте этот класс как есть для управления данными, прибывающими из или идущими в сервер.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import CloudKit
Objective C
@import CloudKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Инициализирует и возвращает новую запись указанного типа.
Объявление
Swift
init!(recordType
recordType
: String!)Objective C
- (instancetype)initWithRecordType:(NSString *)
recordType
Параметры
recordType
Строка, отражающая тип записи, которую Вы хотите создать. Вы определяете типы записи, которые Ваши поддержки приложений и используют их для различения между записями с различными типами данных. Этот параметр не должен быть
nil
или содержите пустую строку.Имена типа записи должны состоять из одного или более алфавитно-цифровых символов и должны запуститься с буквы. Имена типов могут включать символы подчеркивания, пока они не запускают с того символа. Пробелы не позволяются на имена.
Возвращаемое значение
Инициализированный рекордный объект или
nil
если не может быть создана запись.Обсуждение
Используйте этот метод для инициализации нового рекордного объекта в зоне по умолчанию базы данных. Недавно создаваемая запись не содержит данных ни в одном из его полей и присваивается уникальный идентификатор.
После создания рекордные объекты существуют только в памяти на локальном устройстве. Сохраните запись с помощью a
CKModifyRecordsOperation
объект или использованиеsaveRecord:completion:
методCKDatabase
передать содержание записи серверу.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Инициализирует и возвращает запись в указанной зоне.
Объявление
Swift
init!(recordType
recordType
: String!, zoneIDzoneID
: CKRecordZoneID!)Objective C
- (instancetype)initWithRecordType:(NSString *)
recordType
zoneID:(CKRecordZoneID *)zoneID
Параметры
recordType
Строка, отражающая тип записи, которую Вы хотите создать. Определите типы записи, которые Ваши поддержки приложений, и используют их для различения между записями с различными типами данных. Этот параметр не должен быть
nil
или содержите пустую строку.Имена типа записи состоят из одного или более алфавитно-цифровых символов и запускаются с буквы. Имена типов могут включать символы подчеркивания, если они не запускают с того символа. Пробелы не позволяются на имена типа записи.
zoneID
ID рекордной зоны, в которую можно поместить запись.
Возвращаемое значение
Инициализированный рекордный объект или
nil
если не может быть создана запись.Обсуждение
Используйте этот метод для инициализации нового рекордного объекта в указанной рекордной зоне. Недавно создаваемая запись не содержит данных ни в одном из его полей и присваивается уникальный идентификатор.
После создания рекордные объекты существуют только в памяти на локальном устройстве. Сохраните запись с помощью a
CKModifyRecordsOperation
объект или использованиеsaveRecord:completion:
методCKDatabase
передать содержание записи серверу.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Инициализирует и возвращает запись с помощью ID, который Вы обеспечиваете.
Объявление
Swift
init!(recordType
recordType
: String!, recordIDrecordID
: CKRecordID!)Objective C
- (instancetype)initWithRecordType:(NSString *)
recordType
recordID:(CKRecordID *)recordID
Параметры
recordType
Строка, отражающая тип записи, которую Вы хотите создать. Определите типы записи, которые Ваши поддержки приложений, и используют их для различения между записями с различными типами данных. Этот параметр не должен быть
nil
или содержите пустую строку.Имена типа записи состоят из одного или более алфавитно-цифровых символов и запускаются с буквы. Имена типов могут включать символы подчеркивания, если они не запускают с того символа. Пробелы не позволяются на имена типа записи.
recordID
ID для присвоения к самой записи. При создании ID можно указать зону, в которую можно поместить запись. ID не может в настоящее время использоваться никакой другой записью и не должен быть
nil
.Возвращаемое значение
Инициализированный рекордный объект или
nil
если не может быть создана запись.Обсуждение
Используйте этот метод для инициализации нового рекордного объекта с указанным ID. Недавно создаваемая запись не содержит данных.
После создания рекордные объекты существуют только в памяти на локальном устройстве. Сохраните запись с помощью a
CKModifyRecordsOperation
объект или использованиеsaveRecord:completion:
методCKDatabase
передать содержание записи серверу.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает значение для данного ключа, сохраненного в записи.
Объявление
Swift
func objectForKey(_
key
: String!) -> AnyObject!Objective C
- (id)objectForKey:(NSString *)
key
Параметры
key
Строка, идентифицирующая поле в записи. Ключевые имена состоят из одного или более алфавитно-цифровых символов и запускаются с буквы. Если Вы не используете подчеркивание в качестве первого символа на имя, можно также включать символы подчеркивания. Пробелы не позволяются на ключевые имена.
Возвращаемое значение
Объект связался с указанным ключом или
nil
если никакой такой ключ не существует в записи.Обсуждение
Новые записи не содержат ключей или значений первоначально. Значения всегда являются одними из типов объектов, перечисленных в Таблице 1.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Устанавливает значение для указанного ключа.
Объявление
Swift
func setObject(_
obj
: CKRecordValue!, forKeykey
: String!)Objective C
- (void)setObject:(id<CKRecordValue>)
obj
forKey:(NSString *)key
Параметры
obj
Значение для присвоения к указанному
key
. Объект должен быть одним из типов, перечисленных в Таблице 1. Это - ошибка программиста указать объект любого другого типа. Указатьnil
для этого параметра для удаления значения для поля.key
Ключ для соединения с
obj
. Используйте этот ключ для получения значения позже. Ключевые имена состоят из одного или более алфавитно-цифровых символов и запускаются с буквы. Если Вы не используете подчеркивание в качестве первого символа на имя, можно также включать символы подчеркивания. Пробелы не позволяются на ключевые имена. Имена Ваших ключей не должны соответствовать имена никаких свойств этого класса.Обсуждение
Если указанный ключ уже существует в записи, ее старое значение удалено и заменено тем в
obj
параметр. Это изменение влияет только на локальную копию записи. Необходимо сохранить запись на сервер снова, прежде чем изменение станет доступным другим клиентам.Если тип
obj
параметр отличается от типа объекта, в настоящее время экономил на сервере, Вы встретитесь с ошибкой, когда Вы попытаетесь сохранить эту запись на сервер. Например, если текущая стоимостьNSString
объект, Вы получите ошибку при изменении значения наNSNumber
возразите и сохраните запись.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Возвращает значение для данного ключа, сохраненного в записи.
Объявление
Swift
func objectForKeyedSubscript(_
key
: String!) -> AnyObject!Objective C
- (id)objectForKeyedSubscript:(NSString *)
key
Параметры
key
Строка, идентифицирующая поле в записи. Ключевые имена состоят из одного или более алфавитно-цифровых символов и запускаются с буквы. Если Вы не используете подчеркивание в качестве первого символа на имя, можно также включать символы подчеркивания. Пробелы не позволяются на ключевые имена.
Возвращаемое значение
Значение связалось с указанным ключом или
nil
если никакой такой ключ не существует в записи.Обсуждение
Не вызывайте этот метод непосредственно. Присутствие этого метода требуется, чтобы поддерживать синтаксис преобразования в нижний индекс для рекордных объектов. Для получения значения от записи с помощью этого синтаксиса используйте код, подобный следующему:
id value = myRecord[@"firstName"];
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Добавляет указанная пара ключ/значение к записи.
Объявление
Swift
func setObject(_
obj
: CKRecordValue!, forKeyedSubscriptkey
: String!)Objective C
- (void)setObject:(id<CKRecordValue>)
obj
forKeyedSubscript:(NSString *)key
Параметры
obj
Значение для присвоения к указанному
key
. Объект должен быть одним из типов, перечисленных в Таблице 1. Это - ошибка программиста указать объект любого другого типа. Указатьnil
для этого параметра для удаления значения для поля.key
Ключ для соединения с
obj
. Используйте этот ключ для получения значения позже. Ключевые имена состоят из одного или более алфавитно-цифровых символов и запускаются с буквы. Если Вы не используете подчеркивание в качестве первого символа на имя, можно также включать символы подчеркивания. Пробелы не позволяются на ключевые имена. Имена Ваших ключей не должны соответствовать имена никаких свойств этого класса.Обсуждение
Не вызывайте этот метод непосредственно. Присутствие этого метода требуется, чтобы поддерживать синтаксис преобразования в нижний индекс для рекордных объектов. Для присвоения значения ключу в записи с помощью этого синтаксиса используйте код, подобный следующему:
myRecord[@"firstName"] = @"John";
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает массив строк, соответствующих всем ключам в настоящее время в записи.
Возвращаемое значение
Массив
NSString
объекты. Возвращенный массив содержит только ключи, имеющие соответствующие значения в записи. Если никакие ключи не устанавливаются для записи, этот метод возвращает пустой массив.Обсуждение
Этот метод может не возвратить все возможные ключи в записи. В частности метод не делает клавиш Return, значения которых
nil
.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает массив строк, представляющих ключи, недавно изменившиеся.
Возвращаемое значение
Массив
NSString
объекты, каждый из которых представляет ключ, значение которого изменилось начиная с записи, были загружены или сохранены. Если никакие ключи не изменились, этот метод возвращает пустой массив.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Уникальный идентификатор записи. (только для чтения)
Объявление
Swift
@NSCopying var recordID: CKRecordID! { get }
Objective C
@property(nonatomic, readonly, copy) CKRecordID *recordID
Обсуждение
Во время инициализации всегда устанавливается ID новой записи. Если Вы используете
initWithRecordType:recordID:
метод для инициализации записи ID получен изCKRecordID
объект Вы обеспечиваете. Во всех других случаях запись генерирует UUID и базирует его ID на том значении. ID записи никогда не переключает время жизни той записи.При сохранении нового рекордного объекта к серверу сервер проверяет уникальность записи, но сообщает об ошибке, только если политика сохранения требует его. В частности, когда политика сохранения установлена в, это сообщает об ошибке
CKRecordSaveIfServerRecordUnchanged
, который является значением по умолчанию. Для других политик сохранения сервер перезаписывает содержание существующей записи соответственно.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
recordType recordType
СвойствоОпределенная с помощью приложения строка, идентифицирующая тип записи. (только для чтения)
Объявление
Swift
var recordType: String! { get }
Objective C
@property(nonatomic, readonly, copy) NSString *recordType
Обсуждение
Используйте эту строку для дифференциации между различными типами записи в приложении. Строка прежде всего для Вашего преимущества, поэтому выберите имена типов, отражающие данные в соответствующих записях.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
creationDate creationDate
СвойствоВремя, когда запись была сначала сохранена к серверу. (только для чтения)
Объявление
Swift
@NSCopying var creationDate: NSDate! { get }
Objective C
@property(nonatomic, readonly, copy) NSDate *creationDate
Обсуждение
Дата создания отражает время, в которое запись с ID текущей записи создавалась на сервере. Для новых экземпляров этого класса значение этого свойства первоначально установлено в
nil
. При сохранении записи на сервер значение обновляется с надлежащей датой создания для записи.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
creatorUserRecordID creatorUserRecordID
СвойствоID пользователя, создавшего запись. (только для чтения)
Объявление
Swift
@NSCopying var creatorUserRecordID: CKRecordID! { get }
Objective C
@property(nonatomic, readonly, copy) CKRecordID *creatorUserRecordID
Обсуждение
Используйте значение в этом свойстве для получения пользовательской записи пользователя, создавшего эту запись. Каждый пользователь приложения сделал, чтобы уникальный пользователь записал, который пуст по умолчанию. Приложения могут добавить данные к пользовательской записи от имени пользователя, но не должны хранить уязвимые данные в нем.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
modificationDate modificationDate
СвойствоВремя, когда запись была в последний раз сохранена к серверу. (только для чтения)
Объявление
Swift
@NSCopying var modificationDate: NSDate! { get }
Objective C
@property(nonatomic, readonly, copy) NSDate *modificationDate
Обсуждение
Дата модификации отражает время, в которое запись с ID текущей записи была в последний раз сохранена к серверу. Для новых экземпляров этого класса значение этого свойства первоначально установлено в
nil
. При сохранении записи на сервер значение обновляется с надлежащей датой модификации записи.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
ID пользователя, кто продержался, изменил запись. (только для чтения)
Объявление
Swift
@NSCopying var lastModifiedUserRecordID: CKRecordID! { get }
Objective C
@property(nonatomic, readonly, copy) CKRecordID *lastModifiedUserRecordID
Обсуждение
Используйте значение в этом свойстве для получения пользовательской записи пользователя, кто продержался, изменил эту запись. Каждый пользователь приложения сделал, чтобы уникальный пользователь записал, который пуст по умолчанию. Приложения могут добавить данные к пользовательской записи от имени пользователя, но не должны хранить уязвимые данные в нем.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
recordChangeTag recordChangeTag
СвойствоСтрока, содержащая сервер, изменяет маркер для записи. (только для чтения)
Объявление
Swift
var recordChangeTag: String! { get }
Objective C
@property(nonatomic, readonly, copy) NSString *recordChangeTag
Обсуждение
При выборке записи от сервера Вы получаете текущую версию той записи, поскольку это существует на сервере. Однако в любое время после выборки записи другие пользователи могли бы сохранить более новую версию записи на сервер. Каждый раз, когда запись сохраняется, сервер обновляет маркер изменения записи к новому значению. При сохранении экземпляра записи на сервер сервер сравнивает маркер в записи с маркером на сервере. Если эти два маркера соответствуют, сервер знает об изменении последней версии записи и что изменения могут быть применены сразу же. Если эти два маркера не соответствуют, сервер применяет политику сохранения Ваше приложение, указанное, чтобы определить, как продолжить.
В Вашем собственном коде можно использовать маркеры изменения для различения две различных версии той же записи.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает массив строк, которые можно использовать для полнотекстовых поисков основанных на операция со строками значений поля.
Возвращаемое значение
Массив
NSString
объекты, содержащие данные от записей основанные на операция со строками поля.Обсуждение
При выполнении собственных полнотекстовых поисков можно использовать этот метод для получения списка строк для поиска. Метод действует только на ключи, значения которых
NSString
объекты. Это повреждает каждую строку значения независимо на пробельных границах, создает новые строки для каждого слова, добавляет новые строки к массиву и возвращает массив. Эта маркируемая версия строковых значений записи упрощает делать основанные на операция со строками сравнения отдельных слов.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Кодирует системные поля записи с помощью указанного archiver.
Объявление
Swift
func encodeSystemFieldsWithCoder(_
coder
: NSCoder!)Objective C
- (void)encodeSystemFieldsWithCoder:(NSCoder *)
coder
Параметры
coder
Объект archiver.
Обсуждение
Используйте этот метод для кодирования только предоставленных системой метаданных, связанных с записью. Каждая запись определила с помощью системы ключи, соответствующие метаданным, таким как рекордный ID, тип записи, дата создания, и т.д. Метод кодирует те определенные с помощью системы, вводит указанный archiver. Этот метод не указывает ключей, которые Вы добавили к записи. Это также не кодирует ключи, возвращенные
changedKeys
метод.Вы могли бы использовать этот метод, когда Вы хотите сохранить только системные метаданные, потому что фактические рекордные данные хранятся в другом месте.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Постоянный, который идентифицирует специальный тип записи.
Объявление
Swift
let CKRecordTypeUserRecord: NSString!
Objective C
NSString * const CKRecordTypeUserRecord;
Константы
-
CKRecordTypeUserRecord
CKRecordTypeUserRecord
Тип записи для пользовательских записей.
CloudKit автоматически создает пользовательскую запись для каждого уникального пользователя приложения. Пользовательские записи пусты первоначально. Можно добавить данные к пользовательской записи использование тех же правил, запрашивающих все записи. В частности тип данных, хранивших для определенного имени поля, должен быть тем же во всех пользовательских записях. Однако Вы не можете создать новые пользовательские записи с помощью этого типа записи, и Вы не можете запросить для записей этого типа. Для определения местоположения пользовательских записей необходимо знать, что ID пользователя записывает или использует
CKContainer
интерфейсы для обнаружения пользовательских записей.Доступный в OS X v10.10 и позже.
-