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

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

Разработчик

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

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

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

NSUnarchiver

NSUnarchiver, конкретный подкласс NSCoder, определяет методы для декодирования ряда объектов Objective C от архива. Такие архивы производятся объектами NSArchiver класс.

В OS X v10.2 и позже, NSArchiver и NSUnarchiver были заменены NSKeyedArchiver и NSKeyedUnarchiver соответственно — см. Руководство по программированию Архивов и Сериализации.

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • init (forReadingWithData:) - initForReadingWithData: Определяемый инициализатор

    Возвраты NSUnarchiver объект, инициализированный для чтения архива из объекта определенных данных.

    Объявление

    Swift

    init?(forReadingWithData data: NSData)

    Objective C

    - (instancetype)initForReadingWithData:(NSData *)data

    Параметры

    data

    Архивные данные.

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

    NSUnarchiver объект, инициализированный для чтения архива из data. Возвраты nil если data не допустимый архив.

    Обсуждение

    Метод декодирует число версии системы, заархивированное в data подготавливается NSUnarchiver объект для последующего вызова decodeObject.

    Повышения NSInvalidArgumentException если data nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – systemVersion

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

    Объявление

    Swift

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

    Objective C

    + (id)unarchiveObjectWithData:(NSData *)data

    Параметры

    data

    NSData объект, содержащий архив, создал использование NSArchiver.

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

    Объект или граф объектов, заархивированный в data. Возвраты nil если data не может быть разархивирован.

    Обсуждение

    Этот метод вызывает initForReadingWithData: и decodeObject создать временный файл NSUnarchiver объект, декодирующий объект. Если архивный объект является корнем графика объектов, весь график разархивирован.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    encodeRootObject: (NSArchiver)

  • Декодирует и возвращает объект, заархивированный в файле path.

    Объявление

    Swift

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

    Objective C

    + (id)unarchiveObjectWithFile:(NSString *)path

    Параметры

    path

    Путь к файлу, чем содержит создаваемое использование архива NSArchiver.

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

    Объект или граф объектов, заархивированный в файле в path. Возвраты nil если файл в path не может быть разархивирован.

    Обсуждение

    Этот удобный метод читает файл путем вызова NSData метод dataWithContentsOfFile: и затем вызывает unarchiveObjectWithData:.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Булево значение, указывающее, достиг ли получатель конца закодированных данных при декодировании. (только для чтения)

    Объявление

    Swift

    var atEnd: Bool { get }

    Objective C

    @property(getter=isAtEnd, readonly) BOOL atEnd

    Обсуждение

    YEStrue если получатель достиг конца закодированных данных при декодировании, иначе NOfalse.

    Можно вызвать этот метод после вызова decodeObject обнаружить, содержит ли архив дополнительные данные после закодированного графа объектов. Если это делает, можно или проигнорировать эту аномалию или считать его ошибкой.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Objective C

    - (NSZone *)objectZone

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

    Зона памяти раньше выделяла декодируемые объекты.

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

    Objective C

    @import Foundation;

    Доступность

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

    См. также

    – setObjectZone:

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

    Объявление

    Objective C

    - (void)setObjectZone:(NSZone *)zone

    Параметры

    zone

    Зона памяти раньше выделяла декодируемые объекты.

    Обсуждение

    Если zone nil, или если этот метод никогда не вызывается, зона по умолчанию используется, как дано NSDefaultMallocZone().

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

    Objective C

    @import Foundation;

    Доступность

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

    См. также

    – objectZone

  • systemVersion systemVersion Свойство

    Число версии системы в действительности, когда создавался архив. (только для чтения)

    Объявление

    Swift

    var systemVersion: UInt32 { get }

    Objective C

    @property(readonly) unsigned int systemVersion

    Обсуждение

    Эта информация доступна, как только был инициализирован получатель.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    class func classNameDecodedForArchiveClassName(_ nameInArchive: String) -> String

    Objective C

    + (NSString *)classNameDecodedForArchiveClassName:(NSString *)nameInArchive

    Параметры

    nameInArchive

    Имя класса.

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

    Имя класса использовало при инстанцировании объектов, очевидный класс которых, согласно заархивированным данным, nameInArchive. Возвраты nameInArchive если никакое имя замены не было указано с помощью метода класса (не метод экземпляра) decodeClassName:asClassName:.

    Обсуждение

    Обратите внимание на то, что каждый отдельный экземпляр NSUnarchiver может быть дан его собственные отображения имени класса путем вызова метода экземпляра decodeClassName:asClassName:. NSUnarchiver класс не имеет никакой информации об этих специфичных для экземпляра отображениях, однако, таким образом, они не влияют на возвращаемое значение classNameDecodedForArchiveClassName:.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    class func decodeClassName(_ nameInArchive: String, asClassName trueName: String)

    Objective C

    + (void)decodeClassName:(NSString *)nameInArchive asClassName:(NSString *)trueName

    Параметры

    nameInArchive

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

    trueName

    Имя класса для использования при инстанцировании объектов, очевидный класс которых, согласно заархивированным данным, nameInArchive.

    Обсуждение

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func classNameDecodedForArchiveClassName(_ nameInArchive: String) -> String

    Objective C

    - (NSString *)classNameDecodedForArchiveClassName:(NSString *)nameInArchive

    Параметры

    nameInArchive

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

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

    Имя класса, который будет использоваться при инстанцировании объектов, очевидный класс которых, согласно заархивированным данным, nameInArchive. Возвраты nameInArchive если имя замены не было указано с помощью метода экземпляра (не метод класса) decodeClassName:asClassName:.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func decodeClassName(_ nameInArchive: String, asClassName trueName: String)

    Objective C

    - (void)decodeClassName:(NSString *)nameInArchive asClassName:(NSString *)trueName

    Параметры

    nameInArchive

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

    trueName

    Имя класса для использования при инстанцировании объектов, очевидный класс которых, согласно заархивированным данным, nameInArchive.

    Обсуждение

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

    Обратите внимание на то, что существует также метод класса того же имени. Метод класса имеет приоритет в случае конфликтов.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func replaceObject(_ object: AnyObject, withObject newObject: AnyObject)

    Objective C

    - (void)replaceObject:(id)object withObject:(id)newObject

    Параметры

    object

    Архивный объект для замены.

    newObject

    Объект, которым можно заменить object.

    Обсуждение

    newObject может иметь различный класс от объекта и отображения класса, установленные classNameDecodedForArchiveClassName: и decodeClassName:asClassName: проигнорированы.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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