NSCoder
Наследование
-
NSObject
-
NSCoder
-
NSKeyedArchiver
-
NSKeyedUnarchiver
-
NSObject
-
NSCoder
-
NSKeyedArchiver
-
NSKeyedUnarchiver
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSCoder
абстрактный класс объявляет, что интерфейс, используемый конкретными подклассами, передает объекты и другие значения между памятью и некоторым другим форматом. Эта возможность обеспечивает основание для архивации (где объекты и элементы данных сохранены на диске), и распределение (где объекты и элементы данных копируются между различными процессами или потоками). Конкретные подклассы, предоставленные Основой в этих целях, NSArchiver
, NSUnarchiver
, NSKeyedArchiver
, NSKeyedUnarchiver
, и NSPortCoder
. Конкретные подклассы NSCoder
именуются в целом как классы кодера и экземпляры этих классов, поскольку кодер возражает (или просто кодеры). Объект кодера, который может только закодировать значения, упоминается как объект кодера и тот, который может только декодировать значения как объект декодера.
NSCoder
воздействует на объекты, скаляры, C массивы, структуры и строки, и на указателях на эти типы. Это не обрабатывает типы, реализация которых варьируется через платформы, такие как объединение, недействительное *, указатели функции и длинные цепочки указателей. Информация о типе объекта объектно-ориентированных памятей кодера вместе с данными, таким образом, объект, декодируемый от потока байтов обычно, имеет тот же класс как объект, первоначально закодированный в поток. Объект может изменить свой класс, когда закодировано, однако; это описано в Руководстве по программированию Архивов и Сериализации.
Платформа Основы AV добавляет методы к NSCoder
класс, чтобы упростить создавать архивы включая Базовые временные структуры Носителей и временную структуру Носителей Ядра выдержки от архивов.
Разделение на подклассы примечаний
Для получения дополнительной информации того, как создать подкласс NSCoder
, посмотрите Разделение на подклассы NSCoder в Руководстве по программированию Архивов и Сериализации.
-
allowsKeyedCoding
СвойствоБулево значение, указывающее, включили ли поддержки получателя кодирование объектов. (только для чтения)
Объявление
Swift
var allowsKeyedCoding: Bool { get }
Objective C
@property(readonly) BOOL allowsKeyedCoding
Обсуждение
NO
false
по умолчанию. Конкретные подклассы, поддерживающие включенное кодирование, такой какNSKeyedArchiver
, должен переопределить это свойство для возвратаYES
true
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает булево значение, указывающее, доступно ли закодированное значение для строки.
Объявление
Swift
func containsValueForKey(_
key
: String) -> BoolObjective C
- (BOOL)containsValueForKey:(NSString *)
key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Строка передается как
key
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует массив
count
элементы, типом Objective C которых даютitemType
.Объявление
Swift
func encodeArrayOfObjCType(_
type
: UnsafePointer<Int8>, countcount
: Int, atarray
: UnsafePointer<Void>)Objective C
- (void)encodeArrayOfObjCType:(const char *)
type
count:(NSUInteger)count
at:(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
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует
boolv
и партнеры это со строкойkey
.Объявление
Swift
func encodeBool(_
boolv
: Bool, forKeykey
: String)Objective C
- (void)encodeBool:(BOOL)
boolv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Может быть переопределен подклассами для кодирования
object
так, чтобы копия, а не прокси, была создана после декодирования.Объявление
Swift
func encodeBycopyObject(_
anObject
: AnyObject?)Objective C
- (void)encodeBycopyObject:(id)
anObject
Обсуждение
NSCoder
реализация просто вызываетencodeObject:
.Этот метод должен быть соответствующим соответствием
decodeObject
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Может быть переопределен подклассами для кодирования
object
так, чтобы прокси, а не копия, был создан после декодирования.Объявление
Swift
func encodeByrefObject(_
anObject
: AnyObject?)Objective C
- (void)encodeByrefObject:(id)
anObject
Обсуждение
NSCoder
реализация просто вызываетencodeObject:
.Этот метод должен быть соответствующим соответствием
decodeObject
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует буфер данных, типы которых являются неуказанными.
Объявление
Swift
func encodeBytes(_
byteaddr
: UnsafePointer<Void>, lengthlength
: Int)Objective C
- (void)encodeBytes:(const void *)
byteaddr
length:(NSUInteger)length
Обсуждение
Буфер, который будет закодирован, начинается в
address
, и его длиной в байтах даютnumBytes
.Этот метод должен быть соответствующим соответствием
decodeBytesWithReturnedLength:
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует буфер данных,
bytesp
, чья длина указанаlenv
, и партнеры это со строкойkey
.Объявление
Objective C
- (void)encodeBytes:(const uint8_t *)
bytesp
length:(NSUInteger)lenv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Может быть переопределен подклассами для условного кодирования
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
Доступность
Доступный в iOS 2.0 и позже.
-
Условно кодирует ссылку на
objv
и партнеры это со строкойkey
только еслиobjv
был безусловно закодирован сencodeObject:forKey:
.Объявление
Swift
func encodeConditionalObject(_
objv
: AnyObject?, forKeykey
: String)Objective C
- (void)encodeConditionalObject:(id)
objv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они поддерживают включенное кодирование.
Закодированный объект декодируется с
decodeObjectForKey:
метод. Еслиobjv
никогда не кодировался безусловно,decodeObjectForKey:
возвратыnil
вместоobjv
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует данный
NSData
объект.Объявление
Swift
func encodeDataObject(_
data
: NSData)Objective C
- (void)encodeDataObject:(NSData *)
data
Обсуждение
Подклассы должны переопределить этот метод.
Этот метод должен быть соответствующим последующим
decodeDataObject
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует
realv
и партнеры это со строкойkey
.Объявление
Objective C
- (void)encodeDouble:(double)
realv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует
realv
и партнеры это со строкойkey
.Объявление
Swift
func encodeFloat(_
realv
: Float, forKeykey
: String)Objective C
- (void)encodeFloat:(float)
realv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует
intv
и партнеры это со строкойkey
.Объявление
Swift
func encodeInt(_
intv
: Int32, forKeykey
: String)Objective C
- (void)encodeInt:(int)
intv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует данный
NSInteger
и партнеры это с данным ключом.Объявление
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует 32-разрядное целое число
intv
и партнеры это со строкойkey
.Объявление
Swift
func encodeInt32(_
intv
: Int32, forKeykey
: String)Objective C
- (void)encodeInt32:(int32_t)
intv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует 64-разрядное целое число
intv
и партнеры это со строкойkey
.Объявление
Swift
func encodeInt64(_
intv
: Int64, forKeykey
: String)Objective C
- (void)encodeInt64:(int64_t)
intv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует
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
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует объект
objv
и партнеры это со строкойkey
.Объявление
Swift
func encodeObject(_
objv
: AnyObject?, forKeykey
: String)Objective C
- (void)encodeObject:(id)
objv
forKey:(NSString *)key
Обсуждение
Подклассы должны переопределить этот метод для идентификации многократных кодировок
objv
и закодируйте ссылку наobjv
вместо этого. Например,NSKeyedArchiver
обнаруживает копию, возражает и кодирует ссылку на исходный объект, а не закодируйте тот же объект дважды.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Может быть переопределен подклассами для кодирования соединенной группы объектов Objective C, начиная с
rootObject
.Объявление
Swift
func encodeRootObject(_
rootObject
: AnyObject)Objective C
- (void)encodeRootObject:(id)
rootObject
Обсуждение
NSCoder
реализация просто вызываетencodeObject:
.Этот метод должен быть соответствующим последующим
decodeObject
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Должен быть переопределен подклассами для кодирования единственного значения, находящегося в
address
, чьим типом Objective C даютvalueType
.Объявление
Swift
func encodeValueOfObjCType(_
type
: UnsafePointer<Int8>, ataddr
: UnsafePointer<Void>)Objective C
- (void)encodeValueOfObjCType:(const char *)
type
at:(const void *)addr
Обсуждение
valueType
должен содержать точно один код типа.Этот метод должен быть соответствующим последующим
decodeValueOfObjCType:at:
сообщение.Для получения информации о создании Objective C вводят код, подходящий для
valueType
, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для кодирования объектов Objective C. Посмотрите
decodeArrayOfObjCType:count:at:
для большего количества подробных данных.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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;
Доступность
Доступный в iOS 2.0 и позже.
-
Кодирует точку и связывает его с указанным ключом в архиве получателя.
Объявление
Параметры
point
Точка для кодирования.
key
Ключ, идентифицирующий данные.
Обсуждение
При декодировании данных от архива Вы передаете значение в
key
параметр к соответствиюdecodeCGPointForKey:
метод для получения данных.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует прямоугольник и связывает его с указанным ключом в архиве получателя.
Объявление
Параметры
rect
Прямоугольник для кодирования.
key
Ключ, идентифицирующий данные.
Обсуждение
При декодировании данных от архива Вы передаете значение в
key
параметр к соответствиюdecodeCGRectForKey:
метод для получения данных.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует информацию о размере и связывает его с указанным ключом в архиве получателя.
Объявление
Параметры
size
Информация о размере для кодирования.
key
Ключ, идентифицирующий данные.
Обсуждение
При декодировании данных от архива Вы передаете значение в
key
параметр к соответствиюdecodeCGSizeForKey:
метод для получения данных.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует аффинное преобразование и связывает его с указанным ключом в архиве получателя.
Объявление
Swift
func encodeCGAffineTransform(_
transform
: CGAffineTransform, forKeykey
: String!)Objective C
- (void)encodeCGAffineTransform:(CGAffineTransform)
transform
forKey:(NSString *)key
Параметры
transform
Информация о преобразовании для кодирования.
key
Ключ, идентифицирующий данные.
Обсуждение
При декодировании данных от архива Вы передаете значение в
key
параметр к соответствиюdecodeCGAffineTransformForKey:
метод для получения данных.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует граничные данные вставки и связывает его с указанным ключом в архиве получателя.
Объявление
Swift
func encodeUIEdgeInsets(_
insets
: UIEdgeInsets, forKeykey
: String!)Objective C
- (void)encodeUIEdgeInsets:(UIEdgeInsets)
insets
forKey:(NSString *)key
Параметры
insets
Край вставляет данные для кодирования.
key
Ключ, идентифицирующий данные.
Обсуждение
При декодировании данных от архива Вы передаете значение в
key
параметр к соответствиюdecodeUIEdgeInsetsForKey:
метод для получения данных.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Кодирует данные смещения и связывает его с указанным ключом в архиве получателя.
Объявление
Параметры
offset
Данные смещения для кодирования.
key
Ключ, идентифицирующий данные.
Обсуждение
При декодировании данных от архива Вы передаете значение в
key
параметр к соответствиюdecodeUIOffsetForKey:
метод для получения данных.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
Кодирует данный
CMTime
структура и партнеры это с указанным ключом.Объявление
Параметры
time
A
CMTime
структура.key
Ключ, с которым можно связаться
time
в архиве.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Кодирует данный
CMTimeRange
структура и партнеры это с указанным ключом.Объявление
Swift
func encodeCMTimeRange(_
timeRange
: CMTimeRange, forKeykey
: String!)Objective C
- (void)encodeCMTimeRange:(CMTimeRange)
timeRange
forKey:(NSString *)key
Параметры
timeRange
A
CMTimeRange
структура.key
Ключ, с которым можно связаться
timeRange
в архиве.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Кодирует данный
CMTimeMapping
структура и партнеры это с указанным ключом.Объявление
Swift
func encodeCMTimeMapping(_
timeMapping
: CMTimeMapping, forKeykey
: String!)Objective C
- (void)encodeCMTimeMapping:(CMTimeMapping)
timeMapping
forKey:(NSString *)key
Параметры
timeMapping
A
CMTimeMapping
структура.key
Ключ, с которым можно связаться
timeMapping
в архиве.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Декодирует массив
count
элементы, типом Objective C которых даютitemType
.Объявление
Swift
func decodeArrayOfObjCType(_
itemType
: UnsafePointer<Int8>, countcount
: Int, atarray
: UnsafeMutablePointer<Void>)Objective C
- (void)decodeArrayOfObjCType:(const char *)
itemType
count:(NSUInteger)count
at:(void *)array
Обсуждение
Элементы декодируются в буферное начало в
address
, который должен быть достаточно большим для содержания их всех.itemType
должен содержать точно один код типа.NSCoder
реализация вызываетdecodeValueOfObjCType:at:
декодировать целый массив элементов.Этот метод соответствует
encodeArrayOfObjCType:count:at:
сообщение используется во время кодирования.Для получения информации о создании Objective C вводят код, подходящий для
itemType
, посмотрите Кодировки Типа.Специальные замечания
Вы не должны использовать этот метод для декодирования массивов C объектов Objective C. По историческим причинам возвращенные объекты будут иметь дополнительную ссылку владения, которая можно только оставить использование
CFRelease
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращает булево значение, ранее закодированное с
encodeBool:forKey:
и связанный со строкойkey
.Объявление
Swift
func decodeBoolForKey(_
key
: String) -> BoolObjective C
- (BOOL)decodeBoolForKey:(NSString *)
key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует буфер данных, ранее закодированных с
encodeBytes:length:forKey:
и связанный со строкойkey
.Объявление
Swift
func decodeBytesForKey(_
key
: String, returnedLengthlengthp
: UnsafeMutablePointer<Int>) -> UnsafePointer<UInt8>Objective C
- (const uint8_t *)decodeBytesForKey:(NSString *)
key
returnedLength:(NSUInteger *)lengthp
Обсуждение
Длина буфера возвращается ссылкой в
lengthp
. Возвращенные байты являются неизменными. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует буфер данных, типы которых являются неуказанными.
Объявление
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
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращается
NSData
объект, ранее закодированный сencodeDataObject:
. Подклассы должны переопределить этот метод.Обсуждение
Реализация Вашего метода переопределения должна соответствовать реализацию Вашего
encodeDataObject:
метод. Например, типичноеencodeDataObject:
метод кодирует число байтов данных, сопровождаемых самими байтами. Ваше переопределение этого метода должно считать число байтов, создатьNSData
объект надлежащего размера, и декодирует байты в новоеNSData
объект.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует и возвращает двойное значение, ранее закодированное с также
encodeFloat:forKey:
илиencodeDouble:forKey:
и связанный со строкойkey
.Объявление
Objective C
- (double)decodeDoubleForKey:(NSString *)
key
Обсуждение
Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует и возвращает значение плавающее, ранее закодированное с
encodeFloat:forKey:
илиencodeDouble:forKey:
и связанный со строкойkey
.Объявление
Swift
func decodeFloatForKey(_
key
: String) -> FloatObjective C
- (float)decodeFloatForKey:(NSString *)
key
Обсуждение
Если значение было закодировано как двойное, дополнительная точность потеряна. Если закодированное действительное значение не вписывается в плавание, метод повышает
NSRangeException
. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует и возвращает международное значение, ранее закодированное с
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
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует и возвращает значение NSInteger, ранее закодированное с
encodeInt:forKey:
,encodeInteger:forKey:
,encodeInt32:forKey:
, илиencodeInt64:forKey:
и связанный со строкойkey
.Объявление
Обсуждение
Если закодированное целое число не вписывается в размер NSInteger, метод повышает
NSRangeException
. Подклассы должны переопределить этот метод, если они выполняют включенное кодирование.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует и возвращает 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
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует и возвращает 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
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует объект 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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
-
Декодирует единственное значение, типом Objective C которого дают
valueType
.Объявление
Swift
func decodeValueOfObjCType(_
type
: UnsafePointer<Int8>, atdata
: UnsafeMutablePointer<Void>)Objective C
- (void)decodeValueOfObjCType:(const char *)
type
at:(void *)data
Обсуждение
valueType
должен содержать точно один код типа и буфер, указанныйdata
должно быть достаточно большим для содержания значения, соответствующего тому коду типа. Для получения информации о создании Objective C вводят код, подходящий дляvalueType
, посмотрите Кодировки Типа.Подклассы должны переопределить этот метод и обеспечить реализацию для декодирования значения. В Вашей переопределяющей реализации декодируйте значение в буферное начало в
data
.Этот метод соответствует
encodeValueOfObjCType:at:
сообщение используется во время кодирования.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует объект для ключа, ограниченного указанным классом.
Объявление
Swift
func decodeObjectOfClass(_
aClass
: AnyClass, forKeykey
: String) -> AnyObject?Objective C
- (id)decodeObjectOfClass:(Class)
aClass
forKey:(NSString *)key
Параметры
aClass
Ожидать тип класса.
key
Ключ кодера.
Возвращаемое значение
Декодируемый объект.
Обсуждение
Если отвечает кодер
YES
true
кrequiresSecureCoding
, тогда исключение будет выдано, если класс, который будет декодироваться, не реализуетNSSecureCoding
или неisKindOfClass:
изaClass
.Если отвечает кодер
NO
false
кrequiresSecureCoding
, тогда параметр класса проигнорирован, и никакая проверка класса декодируемого объекта не выполняется, точно как будтоdecodeObjectForKey:
был вызван.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Декодирует объект для ключа, ограниченного указанными классами.
Объявление
Параметры
classes
Ряд ожидаемых классов.
key
Ключ кодера.
Возвращаемое значение
Декодируемый объект.
Обсуждение
Класс объекта может быть любым классом в
classes
набор или подкласс любого класса в наборе. Иначе, поведение совпадает сdecodeObjectOfClass:forKey:
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Возвращает декодируемый список свойств для указанного ключа.
Объявление
Swift
func decodePropertyListForKey(_
key
: String) -> AnyObject?Objective C
- (id)decodePropertyListForKey:(NSString *)
key
Параметры
key
Ключ кодера.
Возвращаемое значение
Декодируемый объект, содержащий список свойств.
Обсуждение
Это вызовы метода
decodeObjectOfClasses:forKey:
с набором, позволяющим только типы списка свойств.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
-
Декодирует и возвращается
CGPoint
структура связалась с указанным ключом в архиве получателя.Объявление
Параметры
key
Ключ, идентифицирующий точку.
Возвращаемое значение
CGPoint
структура.Обсуждение
Используйте этот метод для декодирования точки, ранее закодированной с помощью
encodeCGPoint:forKey:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращается
CGRect
структура связалась с указанным ключом в архиве получателя.Объявление
Параметры
key
Ключ, идентифицирующий прямоугольник.
Возвращаемое значение
CGRect
структура.Обсуждение
Используйте этот метод для декодирования прямоугольника, ранее закодированного с помощью
encodeCGRect:forKey:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращается
CGSize
структура связалась с указанным ключом в архиве получателя.Объявление
Параметры
key
Ключ, идентифицирующий информацию о размере.
Возвращаемое значение
CGSize
структура.Обсуждение
Используйте этот метод для декодирования информации о размере, ранее закодированной с помощью
encodeCGSize:forKey:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращается
CGAffineTransform
структура связалась с указанным ключом в архиве получателя.Объявление
Swift
func decodeCGAffineTransformForKey(_
key
: String!) -> CGAffineTransformObjective C
- (CGAffineTransform)decodeCGAffineTransformForKey:(NSString *)
key
Параметры
key
Ключ, идентифицирующий аффинное преобразование.
Возвращаемое значение
Аффинное преобразование.
Обсуждение
Используйте этот метод для декодирования информации о размере, ранее закодированной с помощью
encodeCGAffineTransform:forKey:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращается
UIEdgeInsets
структура связалась с указанным ключом в архиве получателя.Объявление
Swift
func decodeUIEdgeInsetsForKey(_
key
: String!) -> UIEdgeInsetsObjective C
- (UIEdgeInsets)decodeUIEdgeInsetsForKey:(NSString *)
key
Параметры
key
Ключ, идентифицирующий граничные вставки.
Возвращаемое значение
Край вставляет данные.
Обсуждение
Используйте этот метод для декодирования информации о размере, ранее закодированной с помощью
encodeUIEdgeInsets:forKey:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Декодирует и возвращается
UIOffset
структура связалась с указанным ключом в архиве получателя.Объявление
Параметры
key
Ключ, идентифицирующий смещение.
Возвращаемое значение
Данные смещения.
Обсуждение
Используйте этот метод для декодирования информации о смещении, ранее закодированной с помощью
encodeUIOffset:forKey:
метод.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
Возвраты
CMTime
структура связалась с данным ключом.Объявление
Параметры
key
Ключ для a
CMTime
структура закодирована в получателе.Возвращаемое значение
CMTime
структура связалась сkey
в архиве.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Возвраты
CMTimeRange
структура связалась с данным ключом.Объявление
Swift
func decodeCMTimeRangeForKey(_
key
: String!) -> CMTimeRangeObjective C
- (CMTimeRange)decodeCMTimeRangeForKey:(NSString *)
key
Параметры
key
Ключ для a
CMTimeRange
структура закодирована в получателе.Возвращаемое значение
CMTimeRange
структура связалась сkey
в архиве.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Возвраты
CMTimeMapping
структура связалась с данным ключом.Объявление
Swift
func decodeCMTimeMappingForKey(_
key
: String!) -> CMTimeMappingObjective C
- (CMTimeMapping)decodeCMTimeMappingForKey:(NSString *)
key
Параметры
key
Ключ для a
CMTimeMapping
структура закодирована в получателе.Возвращаемое значение
CMTimeMapping
структура связалась сkey
в архиве.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
requiresSecureCoding
СвойствоБулево значение, указывающее, требует ли кодер безопасного кодирования. (только для чтения)
Объявление
Swift
var requiresSecureCoding: Bool { get }
Objective C
@property(readonly) BOOL requiresSecureCoding
Обсуждение
YES
true
если этот кодер требует безопасного кодирования;NO
false
иначе.Безопасные кодеры проверяют ряд позволенных классов прежде, чем декодировать объекты, и все объекты должны реализовать
NSSecureCoding
протокол.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
allowedClasses
СвойствоНабор кодированных классов допускал безопасное кодирование. (только для чтения)
Объявление
Swift
var allowedClasses: Set<NSObject>? { get }
Objective C
@property(readonly, copy) NSSet *allowedClasses
Обсуждение
Безопасные кодеры проверяют этот набор позволенных классов прежде, чем декодировать объекты, и все объекты должны реализовать
NSSecureCoding
протокол.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
systemVersion
СвойствоВерсия системы в действительности для архива. (только для чтения)
Объявление
Swift
var systemVersion: UInt32 { get }
Objective C
@property(readonly) unsigned int systemVersion
Обсуждение
Во время кодирования, текущей версии. Во время декодирования, версия, имевшая силу, когда были закодированы данные.
Подклассы, реализующие декодирование, должны переопределить это свойство для возврата версии системы декодируемых данных.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Этот метод присутствует по историческим причинам и не используется с включенным archivers.
Объявление
Возвращаемое значение
Версию в действительности для класса называют
className
илиNSNotFound
если не называют никакой классclassName
существует.Обсуждение
Номер версии применяется не к
NSKeyedArchiver
/NSKeyedUnarchiver
. Включенный archiver не кодирует номера версии класса.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Этот метод присутствует по историческим причинам и не имеет никакого эффекта.
Объявление
Objective C
- (NSZone *)objectZone
Обсуждение
NSCoder
реализация возвращает зону памяти по умолчанию, как даноNSDefaultMallocZone()
.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
Этот метод присутствует по историческим причинам и не имеет никакого эффекта.
Объявление
Objective C
- (void)setObjectZone:(NSZone *)
zone
Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.