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

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

Разработчик

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

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

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

NSKeyedArchiver

NSKeyedArchiver, конкретный подкласс NSCoder, обеспечивает способ закодировать объекты (и скалярные значения) в архитектурно-независимый формат, который может быть сохранен в файле. При архивации ряда объектов информация о классе и переменные экземпляра для каждого объекта записаны в архив. NSKeyedArchiverсопутствующий класс, NSKeyedUnarchiver, декодирует данные в архиве и создает ряд объектов, эквивалентных исходному набору.

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

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

NSArchiver объект может записать архивные данные в файл или в непостоянный объект данных (экземпляр NSMutableData) то, что Вы обеспечиваете.

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


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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


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

    Объявление

    Swift

    init(forWritingWithMutableData data: NSMutableData)

    Objective C

    - (instancetype)initForWritingWithMutableData:(NSMutableData *)data

    Параметры

    data

    Непостоянный объект данных, в который записан архив.

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

    Получатель, инициализированный для кодирования архива в data.

    Обсуждение

    Когда Вы заканчиваете кодировать данные, необходимо вызвать finishEncoding в которой точке data заполнено. Формат получателя NSPropertyListBinaryFormat_v1_0.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    class func archivedDataWithRootObject(_ rootObject: AnyObject) -> NSData

    Objective C

    + (NSData *)archivedDataWithRootObject:(id)rootObject

    Параметры

    rootObject

    Корень графа объектов для архивации.

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

    NSData объект, содержащий закодированную форму графа объектов, корневой объект которого rootObject. Формат архива NSPropertyListBinaryFormat_v1_0.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    class func archiveRootObject(_ rootObject: AnyObject, toFile path: String) -> Bool

    Objective C

    + (BOOL)archiveRootObject:(id)rootObject toFile:(NSString *)path

    Параметры

    rootObject

    Корень графа объектов для архивации.

    path

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

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

    YEStrue если работа была успешна, иначе NOfalse.

    Обсуждение

    Формат архива NSPropertyListBinaryFormat_v1_0.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func finishEncoding()

    Objective C

    - (void)finishEncoding

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • outputFormat outputFormat Свойство

    Формат, в котором получатель кодирует свои данные.

    Объявление

    Swift

    var outputFormat: NSPropertyListFormat

    Objective C

    @property NSPropertyListFormat outputFormat

    Обсуждение

    Доступные форматы NSPropertyListXMLFormat_v1_0 и NSPropertyListBinaryFormat_v1_0.

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

    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.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func encodeBool(_ boolv: Bool, forKey key: String)

    Objective C

    - (void)encodeBool:(BOOL)boolv forKey:(NSString *)key

    Параметры

    boolv

    Значение для кодирования.

    key

    Ключ, с которым можно связаться boolv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeBoolForKey: (NSKeyedUnarchiver)

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

    Объявление

    Swift

    func encodeBytes(_ bytesp: UnsafePointer<UInt8>, length lenv: Int, forKey key: String)

    Objective C

    - (void)encodeBytes:(const uint8_t *)bytesp length:(NSUInteger)lenv forKey:(NSString *)key

    Параметры

    bytesp

    Массив C байтов для кодирования.

    lenv

    Число байтов от bytesp закодировать.

    key

    Ключ, с которым можно связать закодированное значение. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeBytesForKey:returnedLength: (NSKeyedUnarchiver)

  • Кодирует ссылку на данный объект и связывает его с данным ключом, только если это было безусловно закодировано в другом месте в архиве с encodeObject:forKey:.

    Объявление

    Swift

    func encodeConditionalObject(_ objv: AnyObject?, forKey key: String)

    Objective C

    - (void)encodeConditionalObject:(id)objv forKey:(NSString *)key

    Параметры

    objv

    Объект закодировать.

    key

    Ключ, с которым можно связать закодированное значение. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Кодирует данный double значение и партнеры это с данным ключом.

    Объявление

    Swift

    func encodeDouble(_ realv: Double, forKey key: String)

    Objective C

    - (void)encodeDouble:(double)realv forKey:(NSString *)key

    Параметры

    realv

    Значение для кодирования.

    key

    Ключ, с которым можно связаться realv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeDoubleForKey: (NSKeyedUnarchiver)
    decodeFloatForKey: (NSKeyedUnarchiver)

  • Кодирует данный float значение и партнеры это с данным ключом.

    Объявление

    Swift

    func encodeFloat(_ realv: Float, forKey key: String)

    Objective C

    - (void)encodeFloat:(float)realv forKey:(NSString *)key

    Параметры

    realv

    Значение для кодирования.

    key

    Ключ, с которым можно связаться realv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeFloatForKey: (NSKeyedUnarchiver)
    decodeDoubleForKey: (NSKeyedUnarchiver)

  • Кодирует данный int значение и партнеры это с данным ключом.

    Объявление

    Swift

    func encodeInt(_ intv: Int32, forKey key: String)

    Objective C

    - (void)encodeInt:(int)intv forKey:(NSString *)key

    Параметры

    intv

    Значение для кодирования.

    key

    Ключ, с которым можно связаться intv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeIntForKey: (NSKeyedUnarchiver)

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

    Объявление

    Swift

    func encodeInt32(_ intv: Int32, forKey key: String)

    Objective C

    - (void)encodeInt32:(int32_t)intv forKey:(NSString *)key

    Параметры

    intv

    Значение для кодирования.

    key

    Ключ, с которым можно связаться intv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeInt32ForKey: (NSKeyedUnarchiver)

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

    Объявление

    Swift

    func encodeInt64(_ intv: Int64, forKey key: String)

    Objective C

    - (void)encodeInt64:(int64_t)intv forKey:(NSString *)key

    Параметры

    intv

    Значение для кодирования.

    key

    Ключ, с которым можно связаться intv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeInt64ForKey: (NSKeyedUnarchiver)

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

    Объявление

    Swift

    func encodeObject(_ objv: AnyObject?, forKey key: String)

    Objective C

    - (void)encodeObject:(id)objv forKey:(NSString *)key

    Параметры

    objv

    Значение для кодирования. Это значение может быть nil.

    key

    Ключ, с которым можно связаться objv. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    decodeObjectForKey: (NSKeyedUnarchiver)

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

    Делегат archiver.

    Объявление

    Swift

    unowned(unsafe) var delegate: NSKeyedArchiverDelegate?

    Objective C

    @property(assign) id< NSKeyedArchiverDelegate > delegate

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    class func setClassName(_ codedName: String?, forClass cls: AnyClass)

    Objective C

    + (void)setClassName:(NSString *)codedName forClass:(Class)cls

    Параметры

    codedName

    Имя класса это NSKeyedArchiver использование вместо cls.

    cls

    Класс, для которого можно установить отображение перевода.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает имя класса с который NSKeyedArchiver кодирует экземпляры данного класса.

    Объявление

    Swift

    class func classNameForClass(_ cls: AnyClass) -> String?

    Objective C

    + (NSString *)classNameForClass:(Class)cls

    Параметры

    cls

    Класс, для которого можно определить отображение перевода.

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

    Имя класса то, с который NSKeyedArchiver кодирует экземпляры cls. Возвраты nil если NSKeyedArchiver не имеет перевода, отображающегося для cls.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func setClassName(_ codedName: String?, forClass cls: AnyClass)

    Objective C

    - (void)setClassName:(NSString *)codedName forClass:(Class)cls

    Параметры

    codedName

    Имя класса, вместо которого получатель использует использование cls.

    cls

    Класс, для которого можно установить отображение перевода.

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func classNameForClass(_ cls: AnyClass) -> String?

    Objective C

    - (NSString *)classNameForClass:(Class)cls

    Параметры

    cls

    Класс, для которого можно определить отображение перевода.

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    let NSInvalidArchiveOperationException: NSString!

    Objective C

    extern NSString *NSInvalidArchiveOperationException;

    Константы

    • NSInvalidArchiveOperationException

      NSInvalidArchiveOperationException

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

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

  • Ключи это NSKeyedArchiver использование в иерархии закодированных объектов.

    Объявление

    Swift

    let NSKeyedArchiveRootObjectKey: NSString!

    Objective C

    extern NSString * const NSKeyedArchiveRootObjectKey;

    Константы

    • NSKeyedArchiveRootObjectKey

      NSKeyedArchiveRootObjectKey

      Архивы создали использование метода класса archivedDataWithRootObject: используйте этот ключ для корневого объекта в иерархии закодированных объектов. NSKeyedUnarchiver метод класса unarchiveObjectWithData: ищет этот корневой ключ также.

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