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

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

Разработчик

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

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

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

NSKeyedUnarchiver

NSKeyedUnarchiver, конкретный подкласс NSCoder, определяет методы для декодирования ряда именованных объектов (и скалярные значения) от включенного архива. Такие архивы производятся экземплярами NSKeyedArchiver класс.

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

Если Вы вызываете один из decode... возвращаются методы этого класса с помощью ключа, не существующего в архиве, неположительное значение. Это значение варьируется декодируемым типом. Например, если ключ не существует в архиве, decodeBoolForKey: возвраты NOfalse, decodeIntForKey: возвраты 0, и decodeObjectForKey: возвраты nil.

NSKeyedUnarchiver поддержки ограничили приведение типа. Значение, закодированное как какой-либо тип целого числа, ли стандартный интервал или явное 32-разрядное или 64-разрядное целое число, может декодироваться с помощью какого-либо из целочисленных методов декодирования. Аналогично, значение, закодированное как плавание или дважды, может декодироваться или как плавание или как двойное значение. Если закодированное значение является слишком большим для адаптации в принужденном типе, метод декодирования бросает NSRangeException. Далее, при попытке принудить значение к несовместимому типу, например декодировании интервала как плавания, метод декодирования бросает NSInvalidUnarchiveOperationException.

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.2 и позже.
  • Инициализирует получатель для декодирования архива, ранее закодированного NSKeyedArchiver.

    Объявление

    Swift

    init(forReadingWithData data: NSData)

    Objective C

    - (instancetype)initForReadingWithData:(NSData *)data

    Параметры

    data

    Архив, ранее закодированный NSKeyedArchiver.

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

    NSKeyedUnarchiver объект, инициализированный для для декодирования data.

    Обсуждение

    Когда Вы заканчиваете декодировать данные, необходимо вызвать finishDecoding.

    Этот метод выдает исключение если data не допустимый архив.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Декодирует и возвращает граф объектов, ранее закодированный NSKeyedArchiver и сохраненный в данном NSData объект.

    Объявление

    Swift

    class func unarchiveObjectWithData(_ data: NSData) -> AnyObject?

    Objective C

    + (id)unarchiveObjectWithData:(NSData *)data

    Параметры

    data

    Граф объектов, ранее закодированный NSKeyedArchiver.

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

    Граф объектов, ранее закодированный NSKeyedArchiver и сохраненный в data.

    Обсуждение

    Этот метод повышает NSInvalidArchiveOperationException если data не допустимый архив.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Декодирует и возвращает граф объектов, ранее закодированный NSKeyedArchiver записанный в файл в данном пути.

    Объявление

    Swift

    class func unarchiveObjectWithFile(_ path: String) -> AnyObject?

    Objective C

    + (id)unarchiveObjectWithFile:(NSString *)path

    Параметры

    path

    Путь к файлу, содержащему граф объектов, ранее закодированный NSKeyedArchiver.

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

    Граф объектов, ранее закодированный NSKeyedArchiver записанный в файл path. Возвраты nil если нет никакого файла в path.

    Обсуждение

    Этот метод повышает NSInvalidArgumentException если файл в path не содержит допустимый архив.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Указывает, требует ли получатель, чтобы все разархивированные классы соответствовали NSSecureCoding.

    Объявление

    Swift

    func setRequiresSecureCoding(_ flag: Bool)

    Objective C

    - (void)setRequiresSecureCoding:(BOOL)flag

    Параметры

    flag

    YEStrue если получатель требует NSSecureCoding; NOfalse если нет.

    Обсуждение

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

    Безопасное требование кодирования для NSKeyedUnarchiver разработан, чтобы быть установленным один раз на верхнем уровне и остаться на. После того, как включенный, пытаясь вызвать setRequiresSecureCoding: со значением NOfalse выдаст исключение. Это должно предотвратить классы от выборочного выключения безопасного кодирования.

    Обратите внимание на то, что метод get находится на суперклассе, NSCoder. Посмотрите NSCoder для получения дополнительной информации о безопасном кодировании.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func containsValueForKey(_ key: String) -> Bool

    Objective C

    - (BOOL)containsValueForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    YEStrue если архив содержит значение для key в текущем объеме декодирования, иначе NOfalse.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func decodeBoolForKey(_ key: String) -> Bool

    Objective C

    - (BOOL)decodeBoolForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    Булево значение связалось с ключом key. Возвраты NOfalse если key не существует.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeBool:forKey: (NSKeyedArchiver)

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

    Объявление

    Swift

    func decodeBytesForKey(_ key: String, returnedLength lengthp: UnsafeMutablePointer<Int>) -> UnsafePointer<UInt8>

    Objective C

    - (const uint8_t *)decodeBytesForKey:(NSString *)key returnedLength:(NSUInteger *)lengthp

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

    lengthp

    По возврату, содержит число возвращенных байтов.

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

    Поток байтов связался с ключом key. Возвраты NULL если key не существует.

    Обсуждение

    Возвращенное значение является указателем на временный буфер, принадлежавший получателю. Буфер уходит с unarchiver, не содержанием блока пула автовыпуска. Необходимо скопировать байты в собственный буфер при необходимости в данных для сохранения вне жизни получателя.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeBytes:length:forKey: (NSKeyedArchiver)

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

    Объявление

    Swift

    func decodeDoubleForKey(_ key: String) -> Double

    Objective C

    - (double)decodeDoubleForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    Двойная точность значение с плавающей точкой связалась с ключом key. Возвраты 0.0 если key не существует.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeDouble:forKey: (NSKeyedArchiver)
    encodeFloat:forKey: (NSKeyedArchiver)

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

    Объявление

    Swift

    func decodeFloatForKey(_ key: String) -> Float

    Objective C

    - (float)decodeFloatForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    Одинарная точность значение с плавающей точкой связалась с ключом key. Возвраты 0.0 если key не существует.

    Обсуждение

    Если заархивированное значение было закодировано как двойная точность, тип принужден, освободив точность. Если заархивированное значение является слишком большим для одинарной точности, метод повышает NSRangeException.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeFloat:forKey: (NSKeyedArchiver)
    encodeDouble:forKey: (NSKeyedArchiver)

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

    Объявление

    Swift

    func decodeIntForKey(_ key: String) -> Int32

    Objective C

    - (int)decodeIntForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    Целочисленное значение связалось с ключом key. Возвраты 0 если key не существует.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeInt:forKey: (NSKeyedArchiver)

  • Декодирует 32-разрядное целочисленное значение, связанное с данным ключом.

    Объявление

    Swift

    func decodeInt32ForKey(_ key: String) -> Int32

    Objective C

    - (int32_t)decodeInt32ForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    32-разрядное целочисленное значение связалось с ключом key. Возвраты 0 если key не существует.

    Обсуждение

    Если заархивированное значение было закодировано с различным размером, но является все еще целым числом, тип принужден. Если заархивированное значение является слишком большим для вписывания в 32-разрядное целое число, метод повышает NSRangeException.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeInt32:forKey: (NSKeyedArchiver)

  • Декодирует 64-разрядное целочисленное значение, связанное с данным ключом.

    Объявление

    Swift

    func decodeInt64ForKey(_ key: String) -> Int64

    Objective C

    - (int64_t)decodeInt64ForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

    64-разрядное целочисленное значение связалось с ключом key. Возвраты 0 если key не существует.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeInt64:forKey: (NSKeyedArchiver)

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

    Объявление

    Swift

    func decodeObjectForKey(_ key: String) -> AnyObject?

    Objective C

    - (id)decodeObjectForKey:(NSString *)key

    Параметры

    key

    Ключ в архиве в текущем объеме декодирования. key не должен быть nil.

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeObject:forKey: (NSKeyedArchiver)

  • Говорит получателю, что Вы закончены, декодируя объекты.

    Объявление

    Swift

    func finishDecoding()

    Objective C

    - (void)finishDecoding

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • делегат делегат Свойство

    Делегат получателя.

    Объявление

    Swift

    unowned(unsafe) var delegate: NSKeyedUnarchiverDelegate?

    Objective C

    @property(assign) id< NSKeyedUnarchiverDelegate > delegate

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Добавляет перевод класса, отображающийся на NSKeyedUnarchiver посредством чего объекты, закодированные с данным именем класса, декодируются как экземпляры данного класса вместо этого.

    Объявление

    Swift

    class func setClass(_ cls: AnyClass?, forClassName codedName: String)

    Objective C

    + (void)setClass:(Class)cls forClassName:(NSString *)codedName

    Параметры

    cls

    Класс, которым можно заменить экземпляры названного класса codedName.

    codedName

    Очевидное имя класса в архиве.

    Обсуждение

    При декодировании используется отображение перевода класса, только если никакой перевод не сочтен первым в отдельной карте перевода экземпляра.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает класс из который NSKeyedUnarchiver инстанцирует закодированного объекта с данным именем класса.

    Объявление

    Swift

    class func classForClassName(_ codedName: String) -> AnyClass?

    Objective C

    + (Class)classForClassName:(NSString *)codedName

    Параметры

    codedName

    Очевидное имя класса в архиве.

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

    Класс тот, от который NSKeyedUnarchiver инстанцирует объекта, закодированного с именем класса codedName. Возвраты nil если NSKeyedUnarchiver не имеет перевода, отображающегося для codedName.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func setClass(_ cls: AnyClass?, forClassName codedName: String)

    Objective C

    - (void)setClass:(Class)cls forClassName:(NSString *)codedName

    Параметры

    cls

    Класс, которым можно заменить экземпляры названного класса codedName.

    codedName

    Очевидное имя класса в архиве.

    Обсуждение

    При декодировании карта перевода получателя переопределяет любой перевод, который может также присутствовать в карте класса (см. setClass:forClassName:).

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает класс, от которого получатель инстанцирует закодированного объекта с данным именем класса.

    Объявление

    Swift

    func classForClassName(_ codedName: String) -> AnyClass?

    Objective C

    - (Class)classForClassName:(NSString *)codedName

    Параметры

    codedName

    Имя класса.

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

    Класс, от которого получатель инстанцирует закодированного объекта с именем класса codedName. Возвраты nil если получатель не имеет перевода, отображающегося для codedName.

    Обсуждение

    Отдельная карта перевода класса не ищется.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Имена исключений, повышенных NSKeyedUnarchiver если существует проблема, извлекающая архив.

    Объявление

    Swift

    let NSInvalidUnarchiveOperationException: NSString!

    Objective C

    NSString *NSInvalidUnarchiveOperationException;

    Константы

    • NSInvalidUnarchiveOperationException

      NSInvalidUnarchiveOperationException

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

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