Какая польза от NSCoder в initWithCoder? (Какао и Какао Touch) - PullRequest
1 голос
/ 06 февраля 2012

Какова роль NSCoder здесь?

- (id)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];
    if (self)
    {

    }
    return self;
}

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

NSCoder содержит состояние, в котором вы сохранили архивное представление экземпляра для инициализации в -[id<NSCoding> encodeWithCoder:].

Другими словами, вы закодировали экземпляр self в определенный момент времени, теперь вам нужноинформация кодера для восстановления вашего состояния.

0 голосов
/ 06 февраля 2012

NSCoder обрабатывает архивирование, особенно в этом типичном случае представления, архивирование NIB. Поэтому, когда вы initWithCoder загружаете NIB с интерфейсом, который вы создали в Интерфейсном Разработчике.

Вы можете прочитать больше здесь: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Protocols/NSNibAwaking_Protocol/Reference/Reference.html

...