Когда я использую initWithCoder: метод? - PullRequest
6 голосов
/ 17 ноября 2010

Когда я должен использовать initWithCoder: метод?

Ответы [ 2 ]

11 голосов
/ 17 ноября 2010

Да, если вы используете пользовательский класс в IB, то эти объекты создаются с помощью метода initWithCode:.Итак, в вашем классе вы должны переопределить:

-(id) initWithCoder:(NSCoder*)aDecoder {
    if (! (self = [super initWithCoder:aDecoder]))
        return nil;

    // object has been created from IB... do initialization stuff here

    return self;
}
5 голосов
/ 17 ноября 2010

Вы должны использовать метод initWithCoder:, когда работаете с объектами, которые были заархивированы.Например, когда вы специально используете NSKeyedUnarchiver для создания этих заархивированных объектов или когда вам нужно добавить пользовательский код инициализации для объектов, поступающих из файла XIB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...