Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSUbiquitousKeyValueStore

Опции
Развертывание Target:

На этой странице
Язык:

NSUbiquitousKeyValueStore

Используйте хранилище значения ключа iCloud для создания предпочтения, конфигурации и доступных данных состояния приложением к каждому экземпляру приложения на каждом устройстве подключенными к учетной записи iCloud пользователя. Можно сохранить скалярные значения такой как BOOL, а также значения, содержащие любые из типов объектов списка свойств: NSNumber, NSString, NSDate, NSData, NSArray, и NSDictionary.

Изменяется Ваши записи приложения к значению ключа хранят объект, первоначально сохранены в памяти, затем записанной в диск системой в подходящее время. Если Вы пишете в значение ключа, хранят объект, когда пользователь не подписывается в учетную запись iCloud, данные хранятся локально до следующей возможности синхронизации. Когда пользователь подписывается в учетную запись iCloud, система автоматически согласовывает Ваши локальные, дисковые ключи и значения с теми на сервере iCloud.

Любое устройство, выполняющее Ваше приложение, и присоединенный к той же учетной записи iCloud, может загрузить изменения значения ключа в iCloud. Для отслеживания такие изменения зарегистрируйтесь для NSUbiquitousKeyValueStoreDidChangeExternallyNotification уведомление во время запуска приложения. Затем получите ключи и значения от iCloud (который может быть более новым, чем те, которые локальны) путем вызова synchronize метод. Вы не должны вызывать synchronize метод снова во время жизненного цикла Вашего приложения, если Ваш проект приложения не требует быстрой-поскольку-возможный загрузки на iCloud после изменения значения.

Для получения дополнительной информации о принятии хранения значения ключа в Вашем приложении посмотрите Разработку для Данных Значения ключа в iCloud в Руководстве по проектированию iCloud.

Избегайте использования этого класса для данных, которые важны для поведения Вашего приложения когда оффлайн; вместо этого, храните такие данные непосредственно в базу данных значений по умолчанию локального пользователя.

Общая сумма пространства, доступного в хранилище значения ключа Вашего приложения, для данного пользователя, составляет 1 МБ. Существует предел размера на значение ключа 1 МБ и максимум 1 024 ключей. При попытке записать данные, превышающие эти квоты, сбои попытки записи и никакое изменение сделан к Вашему хранению значения ключа iCloud. В этом сценарии система отправляет NSUbiquitousKeyValueStoreDidChangeExternallyNotification уведомление с причиной изменения NSUbiquitousKeyValueStoreQuotaViolationChange.

Максимальная длина для строк ключа для хранилища значения ключа iCloud составляет 64 байта с помощью кодирования UTF8. Попытка записать значение в ключ большей длины называет результаты в ошибке периода выполнения.

Для использования этого класса необходимо распределить приложение через App Store или App Store Mac, и необходимо запросить com.apple.developer.ubiquity-kvstore-identifier право в Вашем проекте XCode. Для больше на этом, посмотрите, Запрашивают Доступ к Хранению iCloud При помощи Прав в Руководстве по проектированию iCloud.

Этот класс не предназначен, чтобы быть разделенным на подклассы.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.7 и позже.
  • Возвращается совместно используемое значение ключа iCloud хранят объект.

    Объявление

    Swift

    class func defaultStore() -> NSUbiquitousKeyValueStore

    Objective C

    + (NSUbiquitousKeyValueStore *)defaultStore

    Возвращаемое значение

    Совместно используемое значение ключа iCloud хранит объект.

    Обсуждение

    Приложение должно всегда использовать значение ключа iCloud по умолчанию, хранят объект, чтобы получить и установить значения. Это хранилище связывается к строке уникального идентификатора, которую Ваше приложение обеспечивает в его дающих право запросах.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Возвращает массив, связанный с указанным ключом.

    Объявление

    Swift

    func arrayForKey(_ aKey: String) -> [AnyObject]?

    Objective C

    - (NSArray *)arrayForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Массив связался с указанным ключом, или nil если ключ не был найден, или его значение не NSArray объект.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setArray:forKey:

  • Возвращает булево значение, связанное с указанным ключом.

    Объявление

    Swift

    func boolForKey(_ aKey: String) -> Bool

    Objective C

    - (BOOL)boolForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Если булево значение связано с указанным ключом, то значение возвращается. Если ключ не был найден, этот метод возвраты NOfalse.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setBool:forKey:

  • Возвращает объект данных, связанный с указанным ключом.

    Объявление

    Swift

    func dataForKey(_ aKey: String) -> NSData?

    Objective C

    - (NSData *)dataForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Объект данных связался с указанным ключом или nil если ключ не был найден, или его значение не NSData объект.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setData:forKey:

  • Возвращает объект словаря, связанный с указанным ключом.

    Объявление

    Swift

    func dictionaryForKey(_ aKey: String) -> [NSObject : AnyObject]?

    Objective C

    - (NSDictionary *)dictionaryForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Объект словаря связался с указанным ключом или nil если ключ не был найден, или его значение не NSDictionary объект.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setDictionary:forKey:

  • Возвращает двойное значение, связанное с указанным ключом.

    Объявление

    Swift

    func doubleForKey(_ aKey: String) -> Double

    Objective C

    - (double)doubleForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Двойное значение связалось с указанным ключом или 0 если не был найден ключ. Если ключ существует, но не содержит численное значение, этот метод возвраты 0.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setDouble:forKey:

  • Возвращает длинное длинное значение, связанное с указанным ключом.

    Объявление

    Swift

    func longLongForKey(_ aKey: String) -> Int64

    Objective C

    - (long long)longLongForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Длинное длинное значение связалось с указанным ключом или 0 если не был найден ключ. Если ключ существует, но не содержит численное значение, этот метод возвраты 0.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setLongLong:forKey:

  • Возвращает объект, связанный с указанным ключом.

    Объявление

    Swift

    func objectForKey(_ aKey: String) -> AnyObject?

    Objective C

    - (id)objectForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Объект связался с указанным ключом или nil если не был найден ключ.

    Обсуждение

    Можно использовать этот метод для получения объектов, тип которых Вы не обязательно знаете от хранилища значения ключа. Объект, возвращенный этим методом, всегда является одним из типов списка свойств: NSNumber, NSString, NSDate, NSData, NSArray, или NSDictionary.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setObject:forKey:

  • Возвращает строку, связанную с указанным ключом.

    Объявление

    Swift

    func stringForKey(_ aKey: String) -> String?

    Objective C

    - (NSString *)stringForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ в хранилище значения ключа.

    Возвращаемое значение

    Строка связалась с указанным ключом или nil если ключ не был найден, или его значение не NSString объект.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

    См. также

    – setString:forKey:

  • Устанавливает объект массива для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setArray(_ anArray: [AnyObject]?, forKey aKey: String)

    Objective C

    - (void)setArray:(NSArray *)anArray forKey:(NSString *)aKey

    Параметры

    anArray

    Массив, содержание которого может быть сохранено в формате списка свойств. Другими словами, объекты в массиве должны иметь типы NSNumber, NSString, NSDate, NSData, NSArray, или NSDictionary. Общий размер (в байтах) массива и его содержания не должен превышать пределы на размер ключа.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает булево значение для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setBool(_ value: Bool, forKey aKey: String)

    Objective C

    - (void)setBool:(BOOL)value forKey:(NSString *)aKey

    Параметры

    value

    Булево значение для хранения.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования \UTF8

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает объект данных для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setData(_ aData: NSData?, forKey aKey: String)

    Objective C

    - (void)setData:(NSData *)aData forKey:(NSString *)aKey

    Параметры

    aData

    Объект данных сохранить. Общий размер этого объекта данных (включая любой объект наверху) не должен превышать 1 МБ.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Обсуждение

    Используя NSData возразите, поскольку значение в хранении значения ключа позволяет Вам хранить произвольные данные. Например, в игровом приложении, можно использовать его для хранения игрового состояния к iCloud.

    Обязательно осуществите предостережение при хранении объекта данных. Поскольку это доступно, чтобы быть считанным и измененным каждым экземпляром Вашего приложения, присоединенного к учетной записи iCloud пользователя, некоторые из которых могут быть более старыми версиями или работающий на другой платформе, необходимо старательно защитить целостность объекта данных. Для получения дополнительной информации см. “Предостережение осуществления При использовании Объектов NSData как Значения” в Руководстве по проектированию iCloud.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает объект словаря для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setDictionary(_ aDictionary: [NSObject : AnyObject]?, forKey aKey: String)

    Objective C

    - (void)setDictionary:(NSDictionary *)aDictionary forKey:(NSString *)aKey

    Параметры

    aDictionary

    Словарь, содержание которого может быть сохранено в формате списка свойств. Другими словами, объекты в словаре должны иметь типы NSNumber, NSString, NSDate, NSData, NSArray, или NSDictionary. Общий размер (в байтах) словаря и его содержания не должен превышать пределы на размер ключа.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает двойное значение для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setDouble(_ value: Double, forKey aKey: String)

    Objective C

    - (void)setDouble:(double)value forKey:(NSString *)aKey

    Параметры

    value

    Двойное значение для хранения.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает длинное длинное значение для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setLongLong(_ value: Int64, forKey aKey: String)

    Objective C

    - (void)setLongLong:(long long)value forKey:(NSString *)aKey

    Параметры

    value

    Длинное длинное значение для хранения.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает объект для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setObject(_ anObject: AnyObject?, forKey aKey: String)

    Objective C

    - (void)setObject:(id)anObject forKey:(NSString *)aKey

    Параметры

    anObject

    Объект Вы хотите сохранить. Тип объекта должен быть одним из типов списка свойств: NSNumber, NSString, NSDate, NSData, NSArray, или NSDictionary. Общий размер (в байтах) объекта не должен превышать пределы на размер ключа.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Обсуждение

    Если тип anObject не один из типов списка свойств, этот метод не устанавливает его в хранилище значения ключа. Вместо этого это регистрирует ошибку и тихо игнорирует объект.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает строковый объект для указанного ключа в хранилище значения ключа.

    Объявление

    Swift

    func setString(_ aString: String?, forKey aKey: String)

    Objective C

    - (void)setString:(NSString *)aString forKey:(NSString *)aKey

    Параметры

    aString

    Строка Вы хотите сохранить. Общий размер (в байтах) строки не должен превышать пределы на размер ключа.

    aKey

    Ключ, под которым можно сохранить значение. Длина этого ключа не должна превышать 64 байта с помощью кодирования UTF8.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Явно синхронизируется в клавишах памяти и оценивает с сохраненными на диске.

    Объявление

    Swift

    func synchronize() -> Bool

    Objective C

    - (BOOL)synchronize

    Возвращаемое значение

    YEStrue если и дисковые ключи в памяти и значения синхронизировались, или NOfalse если произошла ошибка. Например, этот метод возвраты NOfalse если приложение не было создано с надлежащими дающими право запросами.

    Обсуждение

    Единственное рекомендуемое время для вызова этого метода на запуск приложения, или после возврата переднему плану, чтобы гарантировать, что представление хранилища значения ключа в памяти актуально.

    Изменения, которые Вы вносите в хранилище значения ключа, сохраняются к памяти. Система тогда синхронизирует в клавишах памяти и оценивает с локальным дисковым кэшем, автоматически и в подходящее время. Например, это синхронизирует ключи, когда Ваше приложение помещается в фон, когда изменения получены от iCloud, и когда Ваше приложение вносит изменения в ключ, но не вызывает synchronize метод в течение нескольких секунд.

    Этот метод не вынуждает новые ключи и значения быть записанными в iCloud. Скорее это позволяет iCloud знать, что новые ключи и значения доступны, чтобы быть загруженными. Не полагайтесь на свои ключи и значения, являющиеся доступным на других устройствах сразу. Когда те ключи и значения загружаются, система управляет. Частота запросов загрузки на хранение значения ключа ограничивается несколькими в минуту.

    Во время синхронизации между памятью и диском, этот метод обновляет Ваш набор в памяти ключей и значений с изменениями, ранее полученными от iCloud.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Удаляет значение, связанное с указанным ключом от хранилища значения ключа.

    Объявление

    Swift

    func removeObjectForKey(_ aKey: String)

    Objective C

    - (void)removeObjectForKey:(NSString *)aKey

    Параметры

    aKey

    Ключ, соответствующий значению, Вы хотите удалить.

    Обсуждение

    Если указанный ключ не найден в хранилище значения ключа, этот метод ничего не делает. Этот метод удаляет ключ из версии в памяти хранилища только. Вызовите синхронизировать метод в подходящее время для обновления информации о диске.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Словарь, содержащий все пары ключ/значение в хранилище значения ключа. (только для чтения)

    Объявление

    Swift

    var dictionaryRepresentation: [NSObject : AnyObject] { get }

    Objective C

    @property(readonly, copy) NSDictionary *dictionaryRepresentation

    Обсуждение

    Этот метод возвращает версию в памяти ключей и значений. Если Вы хотите гарантировать, что этот словарь содержит новый набор изменений, вызвать synchronize прежде, чем вызвать этот метод.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Эти ключи могут быть включены в пользовательский информационный словарь NSUbiquitousKeyValueStoreDidChangeExternallyNotification уведомление.

    Объявление

    Swift

    let NSUbiquitousKeyValueStoreChangeReasonKey: NSString! let NSUbiquitousKeyValueStoreChangedKeysKey: NSString!

    Objective C

    NSString * const NSUbiquitousKeyValueStoreChangeReasonKey; NSString * const NSUbiquitousKeyValueStoreChangedKeysKey;

    Константы

    • NSUbiquitousKeyValueStoreChangeReasonKey

      NSUbiquitousKeyValueStoreChangeReasonKey

      Значение этого ключа указывает причину измененное хранилище значения ключа, как описано в Причине Изменения Значения.

      NSNumber объект с целочисленным значением.

      Доступный в OS X v10.7 и позже.

    • NSUbiquitousKeyValueStoreChangedKeysKey

      NSUbiquitousKeyValueStoreChangedKeysKey

      Значение этого ключа является массивом NSString объекты, где каждый - имя ключа, изменившегося в хранилище значения ключа.

      Доступный в OS X v10.7 и позже.

  • Возможные значения связались с NSUbiquitousKeyValueStoreChangeReasonKey ключ.

    Объявление

    Swift

    var NSUbiquitousKeyValueStoreServerChange: Int { get } var NSUbiquitousKeyValueStoreInitialSyncChange: Int { get } var NSUbiquitousKeyValueStoreQuotaViolationChange: Int { get } var NSUbiquitousKeyValueStoreAccountChange: Int { get }

    Objective C

    enum { NSUbiquitousKeyValueStoreServerChange, NSUbiquitousKeyValueStoreInitialSyncChange, NSUbiquitousKeyValueStoreQuotaViolationChange, NSUbiquitousKeyValueStoreAccountChange };

    Константы

    • NSUbiquitousKeyValueStoreServerChange

      NSUbiquitousKeyValueStoreServerChange

      Значение изменилось в iCloud. Когда другое устройство, выполняя другой экземпляр Вашего приложения и присоединенный к той же учетной записи iCloud, загружает новое значение, это происходит.

      Доступный в OS X v10.7 и позже.

    • NSUbiquitousKeyValueStoreInitialSyncChange

      NSUbiquitousKeyValueStoreInitialSyncChange

      Ваша попытка записать в хранение значения ключа была отброшена, потому что еще не произошла начальная загрузка с iCloud. Т.е. прежде чем можно будет сначала записать данные значения ключа, система должна гарантировать, что локальный, дисковый кэш приложения соответствует истину в iCloud.

      Начальные загрузки происходят в первый раз, когда устройство подключено к учетной записи iCloud, и когда пользователь сменяет их основной аккаунт iCloud.

      Доступный в OS X v10.7 и позже.

    • NSUbiquitousKeyValueStoreQuotaViolationChange

      NSUbiquitousKeyValueStoreQuotaViolationChange

      Хранилище значения ключа Вашего приложения превысило свою квоту пространства на сервере iCloud.

      Доступный в OS X v10.7 и позже.

    • NSUbiquitousKeyValueStoreAccountChange

      NSUbiquitousKeyValueStoreAccountChange

      Пользователь изменил основную учетную запись iCloud. Ключи и значения в локальном хранилище значения ключа были заменены теми из новой учетной записи, независимо от относительных меток времени.

      Доступный в OS X v10.8 и позже.

  • Отправленный, когда значение одного или более ключей в локальном хранилище значения ключа изменилось вследствие входящих данных, продвинутых от iCloud.

    Это уведомление отправляется только на изменение, полученное от iCloud; когда Ваше приложение устанавливает значение, это не отправляется.

    Пользовательский информационный словарь может содержать причину уведомления, а также список которого оценивает измененный, следующим образом:

    Объект уведомления NSUbiquitousKeyValueStore возразите, чье содержание изменилось.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.