2010-11-17 4 views

ответ

4

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

+1

Я спрашиваю это потому, что я создал подкласс UIScrollView, я хотел бы установить его положение в XIb и захватить эту информацию и использовать ее для установки подкласс, я бы использовал initWithCoder: для чего-то подобного? – cgossain

9

Да, если вы используете пользовательский класс в 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; 
} 
Смежные вопросы