Какая польза от NSCoder в initWithCoder? (Какао и Какао Touch)
Какова роль NSCoder здесь?
- (id)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self)
{
}
return self;
}
2 ответа
NSCoder
содержит состояние, в котором вы сохранили архивное представление экземпляра для инициализации в -[id<NSCoding> encodeWithCoder:]
,
Другими словами, вы закодировали экземпляр себя в какой-то момент времени, теперь вам нужна информация кодера для восстановления вашего состояния.
NSCoder обрабатывает архивирование, особенно в этом типичном случае представления, архивирование NIB. Итак, когда вы initWithCoder
NIB загружен с интерфейсом, который вы создали в Интерфейсном Разработчике.
Вы можете прочитать больше здесь: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Protocols/NSNibAwaking_Protocol/Reference/Reference.html