Какая польза от 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

Другие вопросы по тегам