NSCoder
NSCoder абстрактный класс объявляет, что интерфейс, используемый конкретными подклассами, передает объекты и другие значения между памятью и некоторым другим форматом. Эта возможность обеспечивает основание для архивации (где объекты и элементы данных сохранены на диске), и распределение (где объекты и элементы данных копируются между различными процессами или потоками). Конкретные подклассы, предоставленные Основой в этих целях, NSArchiver, NSUnarchiver, NSKeyedArchiver, NSKeyedUnarchiver, и NSPortCoder. Конкретные подклассы NSCoder именуются в целом как классы кодера и экземпляры этих классов, поскольку кодер возражает (или просто кодеры). Объект кодера, который может только закодировать значения, упоминается как объект кодера и тот, который может только декодировать значения как объект декодера.
NSCoder воздействует на объекты, скаляры, C массивы, структуры и строки, и на указателях на эти типы. Это не обрабатывает типы, реализация которых варьируется через платформы, такие как объединение, недействительное *, указатели функции и длинные цепочки указателей. Информация о типе объекта объектно-ориентированных памятей кодера вместе с данными, таким образом, объект, декодируемый от потока байтов обычно, имеет тот же класс как объект, первоначально закодированный в поток. Объект может изменить свой класс, когда закодировано, однако; это описано в Руководстве по программированию Архивов и Сериализации.
Платформа Основы AV добавляет методы к NSCoder класс, чтобы упростить создавать архивы включая Базовые временные структуры Носителей и временную структуру Носителей Ядра выдержки от архивов.
Разделение на подклассы примечаний
Для получения дополнительной информации того, как создать подкласс NSCoder, посмотрите Разделение на подклассы NSCoder в Руководстве по программированию Архивов и Сериализации.
Наследование
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
allowsKeyedCoding allowsKeyedCodingСвойствоБулево значение, указывающее, включили ли поддержки получателя кодирование объектов. (только для чтения)
Объявление
Swift
var allowsKeyedCoding: Bool { get }Objective C
@property(readonly) BOOL allowsKeyedCodingОбсуждение
NOfalseпо умолчанию. Конкретные подклассы, поддерживающие включенное кодирование, такой какNSKeyedArchiver, должен переопределить это свойство для возвратаYEStrue.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает булево значение, указывающее, доступно ли закодированное значение для строки.
Объявление
Swift
func containsValueForKey(_key: String) -> BoolObjective C
- (BOOL)containsValueForKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Строка передается как
key.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Кодирует массив
countэлементы, типом Objective C которых даютitemType.Объявление
Swift
func encodeArrayOfObjCType(_type: UnsafePointer<Int8>, countcount: Int, atarray: UnsafePointer<Void>)Objective C
- (void)encodeArrayOfObjCType:(const char *)typecount:(NSUInteger)countat:(const void *)arrayОбсуждение
Значения кодируются с буферного начала в
address.itemTypeдолжен содержать точно один код типа.NSCoderреализация вызываетencodeValueOfObjCType:at:закодировать целый массив элементов. Подклассы, реализующиеencodeValueOfObjCType:at:метод не должен переопределять этот метод.Этот метод должен быть соответствующим последующим
decodeArrayOfObjCType:count:at:сообщение.Для получения информации о создании Objective C вводят код, подходящий для
itemType, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для кодирования массивов C объектов Objective C. Посмотрите
decodeArrayOfObjCType:count:at:для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует
boolvи партнеры это со строкойkey.Объявление
Swift
func encodeBool(_boolv: Bool, forKeykey: String)Objective C
- (void)encodeBool:(BOOL)boolvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Может быть переопределен подклассами для кодирования
objectтак, чтобы копия, а не прокси, была создана после декодирования.Объявление
Swift
func encodeBycopyObject(_anObject: AnyObject?)Objective C
- (void)encodeBycopyObject:(id)anObjectОбсуждение
NSCoderреализация просто вызываетencodeObject:.Этот метод должен быть соответствующим соответствием
decodeObjectсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Может быть переопределен подклассами для кодирования
objectтак, чтобы прокси, а не копия, был создан после декодирования.Объявление
Swift
func encodeByrefObject(_anObject: AnyObject?)Objective C
- (void)encodeByrefObject:(id)anObjectОбсуждение
NSCoderреализация просто вызываетencodeObject:.Этот метод должен быть соответствующим соответствием
decodeObjectсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Кодирует буфер данных, типы которых являются неуказанными.
Объявление
Swift
func encodeBytes(_byteaddr: UnsafePointer<Void>, lengthlength: Int)Objective C
- (void)encodeBytes:(const void *)byteaddrlength:(NSUInteger)lengthОбсуждение
Буфер, который будет закодирован, начинается в
address, и его длиной в байтах даютnumBytes.Этот метод должен быть соответствующим соответствием
decodeBytesWithReturnedLength:сообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Кодирует буфер данных,
bytesp, чья длина указанаlenv, и партнеры это со строкойkey.Объявление
Objective C
- (void)encodeBytes:(const uint8_t *)bytesplength:(NSUInteger)lenvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Может быть переопределен подклассами для условного кодирования
object, сохранение общих ссылок к тому объекту.Объявление
Swift
func encodeConditionalObject(_object: AnyObject?)Objective C
- (void)encodeConditionalObject:(id)objectОбсуждение
В методе переопределения,
objectдолжен быть закодирован, только если это безусловно кодируется в другом месте (с любым другимencode...Object:метод).Этот метод должен быть соответствующим последующим
decodeObjectсообщение. После декодирования, еслиobjectникогда не кодировался безусловно,decodeObjectвозвратыnilвместоobject. Однако, еслиobjectбыл закодирован безусловно, все ссылки наobjectдолжен быть разрешен.NSCoderреализация просто вызываетencodeObject:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– encodeRootObject:– encodeObject:– encodeBycopyObject:encodeConditionalObject:(NSArchiver) -
Условно кодирует ссылку на
objvи партнеры это со строкойkeyтолько еслиobjvбыл безусловно закодирован сencodeObject:forKey:.Объявление
Swift
func encodeConditionalObject(_objv: AnyObject?, forKeykey: String)Objective C
- (void)encodeConditionalObject:(id)objvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они поддерживают включенное кодирование.
Закодированный объект декодируется с
decodeObjectForKey:метод. Еслиobjvникогда не кодировался безусловно,decodeObjectForKey:возвратыnilвместоobjv.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Кодирует данный
NSDataобъект.Объявление
Swift
func encodeDataObject(_data: NSData)Objective C
- (void)encodeDataObject:(NSData *)dataОбсуждение
Подклассы должны переопределить этот метод.
Этот метод должен быть соответствующим последующим
decodeDataObjectсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Кодирует
realvи партнеры это со строкойkey.Объявление
Objective C
- (void)encodeDouble:(double)realvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Кодирует
realvи партнеры это со строкойkey.Объявление
Swift
func encodeFloat(_realv: Float, forKeykey: String)Objective C
- (void)encodeFloat:(float)realvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Кодирует
intvи партнеры это со строкойkey.Объявление
Swift
func encodeInt(_intv: Int32, forKeykey: String)Objective C
- (void)encodeInt:(int)intvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Кодирует данный
NSIntegerи партнеры это с данным ключом.Объявление
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
Кодирует 32-разрядное целое число
intvи партнеры это со строкойkey.Объявление
Swift
func encodeInt32(_intv: Int32, forKeykey: String)Objective C
- (void)encodeInt32:(int32_t)intvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Кодирует 64-разрядное целое число
intvи партнеры это со строкойkey.Объявление
Swift
func encodeInt64(_intv: Int64, forKeykey: String)Objective C
- (void)encodeInt64:(int64_t)intvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
encodeNXObject: - encodeNXObject:(OS X v10.5)Кодирует объект старого стиля на кодер.
Объявление
Objective C
- (void)encodeNXObject:(id)objectОбсуждение
Никакое совместное использование не сделано через отдельный
encodeNXObject:вызовы. Вызывающие стороны, должно быть, реализовалиencodeWithCoder:, который параллеленwrite:методы, на всех их классах, которые могут быть затронуты этой работой.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.5.
-
Кодирует
object.Объявление
Swift
func encodeObject(_object: AnyObject?)Objective C
- (void)encodeObject:(id)objectОбсуждение
NSCoderреализация просто вызываетencodeValueOfObjCType:at:закодироватьobject. Подклассы могут переопределить этот метод для кодирования ссылки наobjectвместоobjectсамостоятельно. Например,NSArchiverобнаруживает копию, возражает и кодирует ссылку на исходный объект, а не закодируйте тот же объект дважды.Этот метод должен быть соответствующим последующим
decodeObjectсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует объект
objvи партнеры это со строкойkey.Объявление
Swift
func encodeObject(_objv: AnyObject?, forKeykey: String)Objective C
- (void)encodeObject:(id)objvforKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод для идентификации многократных кодировок
objvи закодируйте ссылку наobjvвместо этого. Например,NSKeyedArchiverобнаруживает копию, возражает и кодирует ссылку на исходный объект, а не закодируйте тот же объект дважды.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Кодирует
point.Обсуждение
NSCoderреализация вызываетencodeValueOfObjCType:at:закодироватьpoint.Этот метод должен быть соответствующим последующим
decodePointсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует
pointи партнеры это со строкойkey.Объявление
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Кодирует список свойств
aPropertyList.Объявление
Swift
func encodePropertyList(_aPropertyList: AnyObject)Objective C
- (void)encodePropertyList:(id)aPropertyListОбсуждение
NSCoderреализация вызываетencodeValueOfObjCType:at:закодироватьaPropertyList.Этот метод должен быть соответствующим последующим
decodePropertyListсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует
rect.Обсуждение
NSCoderреализация вызываетencodeValueOfObjCType:at:закодироватьrect.Этот метод должен быть соответствующим последующим
decodeRectсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует
rectи партнеры это со строкойkey.Объявление
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Может быть переопределен подклассами для кодирования соединенной группы объектов Objective C, начиная с
rootObject.Объявление
Swift
func encodeRootObject(_rootObject: AnyObject)Objective C
- (void)encodeRootObject:(id)rootObjectОбсуждение
NSCoderреализация просто вызываетencodeObject:.Этот метод должен быть соответствующим последующим
decodeObjectсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– encodeObject:– encodeConditionalObject:– encodeBycopyObject:encodeRootObject:(NSArchiver) -
Кодирует
size.Обсуждение
NSCoderреализация вызываетencodeValueOfObjCType:at:закодироватьsize.Этот метод должен быть соответствующим последующим
decodeSizeсообщение.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует
sizeи партнеры это со строкойkey.Объявление
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Должен быть переопределен подклассами для кодирования единственного значения, находящегося в
address, чьим типом Objective C даютvalueType.Объявление
Swift
func encodeValueOfObjCType(_type: UnsafePointer<Int8>, ataddr: UnsafePointer<Void>)Objective C
- (void)encodeValueOfObjCType:(const char *)typeat:(const void *)addrОбсуждение
valueTypeдолжен содержать точно один код типа.Этот метод должен быть соответствующим последующим
decodeValueOfObjCType:at:сообщение.Для получения информации о создании Objective C вводят код, подходящий для
valueType, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для кодирования объектов Objective C. Посмотрите
decodeArrayOfObjCType:count:at:для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Кодирует серию значений потенциально отличающихся типов Objective C.
Объявление
Objective C
- (void)encodeValuesOfObjCTypes:(const char *)types,...Обсуждение
valueTypesструна до, содержащая любое число кодов типа. Аргументы переменной к этому методу состоят из одного или более параметров указателя, каждый из которых указывает буфер, содержащий значение, которое будет закодировано. Поскольку каждый вводит кодvalueTypes, необходимо указать соответствующий параметр указателя.Этот метод должен быть соответствующим последующим
decodeValuesOfObjCTypes:сообщение.NSCoderреализация вызываетencodeValueOfObjCType:at:закодировать отдельные типы. Подклассы, реализующиеencodeValueOfObjCType:at:метод не должен переопределять этот метод. Однако подклассы, обеспечивающие более эффективный подход для кодирования серии значений, могут переопределить этот метод для реализации того подхода.Для получения информации о создании Objective C вводят коды, подходящие для
valueTypes, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для кодирования объектов Objective C. Посмотрите
decodeArrayOfObjCType:count:at:для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Кодирует данный
CMTimeструктура и партнеры это с указанным ключом.Объявление
Параметры
timeA
CMTimeструктура.keyКлюч, с которым можно связаться
timeв архиве.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Кодирует данный
CMTimeRangeструктура и партнеры это с указанным ключом.Объявление
Swift
func encodeCMTimeRange(_timeRange: CMTimeRange, forKeykey: String!)Objective C
- (void)encodeCMTimeRange:(CMTimeRange)timeRangeforKey:(NSString *)keyПараметры
timeRangeA
CMTimeRangeструктура.keyКлюч, с которым можно связаться
timeRangeв архиве.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Кодирует данный
CMTimeMappingструктура и партнеры это с указанным ключом.Объявление
Swift
func encodeCMTimeMapping(_timeMapping: CMTimeMapping, forKeykey: String!)Objective C
- (void)encodeCMTimeMapping:(CMTimeMapping)timeMappingforKey:(NSString *)keyПараметры
timeMappingA
CMTimeMappingструктура.keyКлюч, с которым можно связаться
timeMappingв архиве.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Декодирует массив
countэлементы, типом Objective C которых даютitemType.Объявление
Swift
func decodeArrayOfObjCType(_itemType: UnsafePointer<Int8>, countcount: Int, atarray: UnsafeMutablePointer<Void>)Objective C
- (void)decodeArrayOfObjCType:(const char *)itemTypecount:(NSUInteger)countat:(void *)arrayОбсуждение
Элементы декодируются в буферное начало в
address, который должен быть достаточно большим для содержания их всех.itemTypeдолжен содержать точно один код типа.NSCoderреализация вызываетdecodeValueOfObjCType:at:декодировать целый массив элементов.Этот метод соответствует
encodeArrayOfObjCType:count:at:сообщение используется во время кодирования.Для получения информации о создании Objective C вводят код, подходящий для
itemType, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для декодирования массивов C объектов Objective C. По историческим причинам возвращенные объекты будут иметь дополнительную ссылку владения, которая можно только оставить использование
CFRelease.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Декодирует и возвращает булево значение, ранее закодированное с
encodeBool:forKey:и связанный со строкойkey.Объявление
Swift
func decodeBoolForKey(_key: String) -> BoolObjective C
- (BOOL)decodeBoolForKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует буфер данных, ранее закодированных с
encodeBytes:length:forKey:и связанный со строкойkey.Объявление
Swift
func decodeBytesForKey(_key: String, returnedLengthlengthp: UnsafeMutablePointer<Int>) -> UnsafePointer<UInt8>Objective C
- (const uint8_t *)decodeBytesForKey:(NSString *)keyreturnedLength:(NSUInteger *)lengthpОбсуждение
Длина буфера возвращается ссылкой в
lengthp. Возвращенные байты являются неизменными. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Декодирует буфер данных, типы которых являются неуказанными.
Объявление
Swift
func decodeBytesWithReturnedLength(_lengthp: UnsafeMutablePointer<Int>) -> UnsafeMutablePointer<Void>Objective C
- (void *)decodeBytesWithReturnedLength:(NSUInteger *)lengthpОбсуждение
NSCoderреализация вызываетdecodeValueOfObjCType:at:декодировать данные как ряд байтов, которые этот метод тогда помещает в буфер и возвраты. Длина буфера возвращается ссылкой вnumBytes. Если Вам нужны байты вне объема тока@autoreleasepoolблок, необходимо скопировать их.Этот метод соответствует
encodeBytes:length:сообщение используется во время кодирования.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Декодирует и возвращается
NSDataобъект, ранее закодированный сencodeDataObject:. Подклассы должны переопределить этот метод.Обсуждение
Реализация Вашего метода переопределения должна соответствовать реализацию Вашего
encodeDataObject:метод. Например, типичноеencodeDataObject:метод кодирует число байтов данных, сопровождаемых самими байтами. Ваше переопределение этого метода должно считать число байтов, создатьNSDataобъект надлежащего размера, и декодирует байты в новоеNSDataобъект.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует и возвращает двойное значение, ранее закодированное с также
encodeFloat:forKey:илиencodeDouble:forKey:и связанный со строкойkey.Объявление
Objective C
- (double)decodeDoubleForKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует и возвращает значение плавающее, ранее закодированное с
encodeFloat:forKey:илиencodeDouble:forKey:и связанный со строкойkey.Объявление
Swift
func decodeFloatForKey(_key: String) -> FloatObjective C
- (float)decodeFloatForKey:(NSString *)keyОбсуждение
Если значение было закодировано как двойное, дополнительная точность потеряна. Если закодированное действительное значение не вписывается в плавание, метод повышает
NSRangeException. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует и возвращает международное значение, ранее закодированное с
encodeInt:forKey:,encodeInteger:forKey:,encodeInt32:forKey:, илиencodeInt64:forKey:и связанный со строкойkey.Объявление
Swift
func decodeIntForKey(_key: String) -> Int32Objective C
- (int)decodeIntForKey:(NSString *)keyОбсуждение
Если закодированное целое число не вписывается в целочисленный размер по умолчанию, метод повышает
NSRangeException. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует и возвращает значение NSInteger, ранее закодированное с
encodeInt:forKey:,encodeInteger:forKey:,encodeInt32:forKey:, илиencodeInt64:forKey:и связанный со строкойkey.Объявление
Обсуждение
Если закодированное целое число не вписывается в размер NSInteger, метод повышает
NSRangeException. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
Декодирует и возвращает 32-разрядное целочисленное значение, ранее закодированное с
encodeInt:forKey:,encodeInteger:forKey:,encodeInt32:forKey:, илиencodeInt64:forKey:и связанный со строкойkey.Объявление
Swift
func decodeInt32ForKey(_key: String) -> Int32Objective C
- (int32_t)decodeInt32ForKey:(NSString *)keyОбсуждение
Если закодированное целое число не вписывается в 32-разрядное целое число, метод повышает
NSRangeException. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует и возвращает 64-разрядное целочисленное значение, ранее закодированное с
encodeInt:forKey:,encodeInteger:forKey:,encodeInt32:forKey:, илиencodeInt64:forKey:и связанный со строкойkey.Объявление
Swift
func decodeInt64ForKey(_key: String) -> Int64Objective C
- (int64_t)decodeInt64ForKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
decodeNXObject - decodeNXObject(OS X v10.5)Декодирует объект, ранее записанный с
encodeNXObject:.Объявление
Objective C
- (id)decodeNXObjectОбсуждение
Никакое совместное использование не сделано через отдельный
decodeNXObjectвызовы. Вызывающие стороны, должно быть, реализовалиinitWithCoder:, который параллеленread:методы, на всех их классах, которые могут быть затронуты этой работой.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.5.
-
Декодирует объект Objective C, ранее закодированный с любым из
encode...Object:методы.Объявление
Swift
func decodeObject() -> AnyObject?Objective C
- (id)decodeObjectОбсуждение
NSCoderреализация вызываетdecodeValueOfObjCType:at:декодировать данные объектов.Подклассы, возможно, должны переопределить этот метод, если они переопределяют какое-либо соответствие
encode...Object:методы. Например, если объект был закодирован условно с помощьюencodeConditionalObject:метод, этот метод должен проверить, был ли фактически закодирован объект.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует и возвращает объект Objective C, ранее закодированный с
encodeObject:forKey:илиencodeConditionalObject:forKey:и связанный со строкойkey.Объявление
Swift
func decodeObjectForKey(_key: String) -> AnyObject?Objective C
- (id)decodeObjectForKey:(NSString *)keyОбсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует и возвращает структуру NSPoint, ранее закодированную с
encodePoint:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует и возвращает структуру NSPoint, ранее закодированную с
encodePoint:forKey:.Объявление
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует список свойств, ранее закодированный с
encodePropertyList:.Объявление
Swift
func decodePropertyList() -> AnyObject?Objective C
- (id)decodePropertyListОператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует и возвращает структуру NSRect, ранее закодированную с
encodeRect:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует и возвращает структуру NSRect, ранее закодированную с
encodeRect:forKey:.Объявление
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует и возвращает структуру NSSize, ранее закодированную с
encodeSize:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует и возвращает структуру NSSize, ранее закодированную с
encodeSize:forKey:.Объявление
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Декодирует единственное значение, типом Objective C которого дают
valueType.Объявление
Swift
func decodeValueOfObjCType(_type: UnsafePointer<Int8>, atdata: UnsafeMutablePointer<Void>)Objective C
- (void)decodeValueOfObjCType:(const char *)typeat:(void *)dataОбсуждение
valueTypeдолжен содержать точно один код типа и буфер, указанныйdataдолжно быть достаточно большим для содержания значения, соответствующего тому коду типа. Для получения информации о создании Objective C вводят код, подходящий дляvalueType, посмотрите Кодировки Типа.Подклассы должны переопределить этот метод и обеспечить реализацию для декодирования значения. В Вашей переопределяющей реализации декодируйте значение в буферное начало в
data.Этот метод соответствует
encodeValueOfObjCType:at:сообщение используется во время кодирования.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Декодирует серию потенциально различных типов Objective C.
Объявление
Objective C
- (void)decodeValuesOfObjCTypes:(const char *)types,...Обсуждение
valueTypesединственная струна до, содержащая любое число кодов типа. Аргументы переменной к этому методу состоят из одного или более параметров указателя, каждый из которых указывает буфер, в который можно поместить единственное декодируемое значение. Поскольку каждый вводит кодvalueTypes, необходимо указать соответствующий параметр указателя, буфер которого является достаточно большим для содержания декодируемого значения.Этот метод соответствует
encodeValuesOfObjCTypes:сообщение используется во время кодирования.NSCoderреализация вызываетdecodeValueOfObjCType:at:декодировать отдельные типы. Подклассы, реализующиеdecodeValueOfObjCType:at:метод не должен переопределять этот метод.Для получения информации о создании Objective C вводят коды, подходящие для
valueTypes, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для декодирования объектов Objective C. Посмотрите
decodeArrayOfObjCType:count:at:для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Декодирует объект для ключа, ограниченного указанным классом.
Объявление
Swift
func decodeObjectOfClass(_aClass: AnyClass, forKeykey: String) -> AnyObject?Objective C
- (id)decodeObjectOfClass:(Class)aClassforKey:(NSString *)keyПараметры
aClassОжидать тип класса.
keyКлюч кодера.
Возвращаемое значение
Декодируемый объект.
Обсуждение
Если отвечает кодер
YEStrueкrequiresSecureCoding, тогда исключение будет выдано, если класс, который будет декодироваться, не реализуетNSSecureCodingили неisKindOfClass:изaClass.Если отвечает кодер
NOfalseкrequiresSecureCoding, тогда параметр класса проигнорирован, и никакая проверка класса декодируемого объекта не выполняется, точно как будтоdecodeObjectForKey:был вызван.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
См. также
-
Декодирует объект для ключа, ограниченного указанными классами.
Объявление
Параметры
classesРяд ожидаемых классов.
keyКлюч кодера.
Возвращаемое значение
Декодируемый объект.
Обсуждение
Класс объекта может быть любым классом в
classesнабор или подкласс любого класса в наборе. Иначе, поведение совпадает сdecodeObjectOfClass:forKey:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
См. также
-
Возвращает декодируемый список свойств для указанного ключа.
Объявление
Swift
func decodePropertyListForKey(_key: String) -> AnyObject?Objective C
- (id)decodePropertyListForKey:(NSString *)keyПараметры
keyКлюч кодера.
Возвращаемое значение
Декодируемый объект, содержащий список свойств.
Обсуждение
Это вызовы метода
decodeObjectOfClasses:forKey:с набором, позволяющим только типы списка свойств.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
-
decodeNXColor - decodeNXColor(OS X v10.9)Декодирует цветовую структуру от Выпуска 3 NEXTSTEP или ранее и возвращается
NSColorобъект.Объявление
Objective C
- (NSColor *)decodeNXColorВозвращаемое значение
Автовыпущенный
NSColorобъект. Возвратыnilесли заархивированный цвет недопустим.Обсуждение
Этот метод не имеет метода сопоставления для кодирования
NXColorструктура. ЗакодируйтеNSColorобъект вместо этого.NXColor, тип, что даты от версий pre-OpenStep NEXTSTEP, был astruct. Его замена,NSColor, класс. Трудности преобразования из astructк классу требуют специального метода какdecodeNXColor.decodeNXColorметод становится частьюNSCoderкласс только для приложений то использование AppKit.Оператор импорта
Objective C
@import AppKit;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
-
Возвраты
CMTimeструктура связалась с данным ключом.Объявление
Параметры
keyКлюч для a
CMTimeструктура закодирована в получателе.Возвращаемое значение
CMTimeструктура связалась сkeyв архиве.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвраты
CMTimeRangeструктура связалась с данным ключом.Объявление
Swift
func decodeCMTimeRangeForKey(_key: String!) -> CMTimeRangeObjective C
- (CMTimeRange)decodeCMTimeRangeForKey:(NSString *)keyПараметры
keyКлюч для a
CMTimeRangeструктура закодирована в получателе.Возвращаемое значение
CMTimeRangeструктура связалась сkeyв архиве.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
Возвраты
CMTimeMappingструктура связалась с данным ключом.Объявление
Swift
func decodeCMTimeMappingForKey(_key: String!) -> CMTimeMappingObjective C
- (CMTimeMapping)decodeCMTimeMappingForKey:(NSString *)keyПараметры
keyКлюч для a
CMTimeMappingструктура закодирована в получателе.Возвращаемое значение
CMTimeMappingструктура связалась сkeyв архиве.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
См. также
-
requiresSecureCoding requiresSecureCodingСвойствоБулево значение, указывающее, требует ли кодер безопасного кодирования. (только для чтения)
Объявление
Swift
var requiresSecureCoding: Bool { get }Objective C
@property(readonly) BOOL requiresSecureCodingОбсуждение
YEStrueесли этот кодер требует безопасного кодирования;NOfalseиначе.Безопасные кодеры проверяют ряд позволенных классов прежде, чем декодировать объекты, и все объекты должны реализовать
NSSecureCodingпротокол.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
См. также
-
allowedClasses allowedClassesСвойствоНабор кодированных классов допускал безопасное кодирование. (только для чтения)
Объявление
Swift
@NSCopying var allowedClasses: NSSet? { get }Objective C
@property(readonly, copy) NSSet *allowedClassesОбсуждение
Безопасные кодеры проверяют этот набор позволенных классов прежде, чем декодировать объекты, и все объекты должны реализовать
NSSecureCodingпротокол.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.8 и позже.
См. также
-
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 и позже.
-
Этот метод присутствует по историческим причинам и не используется с включенным archivers.
Объявление
Возвращаемое значение
Версию в действительности для класса называют
classNameилиNSNotFoundесли не называют никакой классclassNameсуществует.Обсуждение
Номер версии применяется не к
NSKeyedArchiver/NSKeyedUnarchiver. Включенный archiver не кодирует номера версии класса.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Этот метод присутствует по историческим причинам и не имеет никакого эффекта.
Объявление
Objective C
- (NSZone *)objectZoneОбсуждение
NSCoderреализация возвращает зону памяти по умолчанию, как даноNSDefaultMallocZone().Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Этот метод присутствует по историческим причинам и не имеет никакого эффекта.
Объявление
Objective C
- (void)setObjectZone:(NSZone *)zoneОператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
