Какой метод инициализации вызывается в подклассе UIViewController, когда он инициализируется пером? - PullRequest
3 голосов
/ 05 августа 2009

Делегат приложения имеет свойство выхода для контроллера представления, и контроллер представления создается в кончике.

Несмотря на то, что метод -viewDidLoad контроллера представления загружается, кажется, что назначенный инициализатор не получает вызов:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle {
    NSLog(@"iniwinib");
    if (self = [super initWithNibName:nibName bundle:nibBundle]) {
        // do stuff
    }
    return self;
}

Я также пытался с -init, но это также не получает вызов. Нет вывода NSLog. Есть ли другой инициализатор, который я должен использовать в этом случае?

Ответы [ 2 ]

9 голосов
/ 05 августа 2009

-initWithCoder: является инициализатором в этом случае (потому что объект десериализуется из NIB), но процедура, которую вы на самом деле здесь хотите, это -awakeFromNib. Это то, что называется после того, как все объекты в NIB были построены и все розетки были подключены.

0 голосов
/ 05 августа 2009

Вы действительно вызываете initWithNibName, чтобы создать свой ViewController где-нибудь в коде? Если нет, то он никогда не будет вызван, этот метод не вызывается автоматически, вы должны вызвать его, чтобы создать ваш viewController из вашего пера. Но вам не нужно вызывать этот метод, потому что вы уже установили ViewController в перо.

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