NSCoding
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSCoding
протокол объявляет два метода, которые должен реализовать класс так, чтобы экземпляры того класса могли кодироваться и декодироваться. Эта возможность обеспечивает основание для архивации (где объекты и другие структуры сохранены на диске), и распределение (где объекты копируются в различные адресные пространства).
В соответствии с объектно-ориентированными принципами разработки, объект, закодированный или декодируемый, ответственен за кодирование и декодирование его переменных экземпляра. Кодер сообщает объекту сделать так путем вызова encodeWithCoder:
или initWithCoder:
. encodeWithCoder:
сообщает объекту закодировать его переменные экземпляра к предоставленному кодеру; объект может получить этот метод любое число раз. initWithCoder:
сообщает объекту инициализировать себя от данных в предоставленном кодере; как таковой, это заменяет любой другой метод инициализации и отправляется только один раз на объект. Любой класс объекта, который должен быть codable, должен принять NSCoding
протокол и реализация его методы.
Важно рассмотреть возможные типы архивации, которую поддерживает кодер. На версии 10.2 OS X и позже, предпочтена включенная архивация. Вы, возможно, однако, должны поддерживать классическую архивацию. Для получения дополнительной информации см. Руководство по программированию Архивов и Сериализации.
-
init (кодер:) - initWithCoder:
ТребуемыйВозвращает объект, инициализированный из данных в данном unarchiver. (требуемый)
Параметры
decoder
Объект unarchiver.
Возвращаемое значение
self
, инициализированное использование данных вdecoder
.Обсуждение
Необходимо возвратиться
self
отinitWithCoder:
. Если у Вас есть усовершенствованная потребность, требующая замены различным объектом после декодирования, можно сделать так вawakeAfterUsingCoder:
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
encodeWithCoder (_:) - encodeWithCoder:
ТребуемыйКодирует получатель с помощью данного archiver. (требуемый)
Объявление
Swift
func encodeWithCoder(_
encoder
: NSCoder)Objective C
- (void)encodeWithCoder:(NSCoder *)
encoder
Параметры
encoder
Объект archiver.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.