Init из nib, но только для alloc [UIViewController] - PullRequest
1 голос
/ 28 апреля 2010

Итак, я делаю это в своем коде сейчас:

UIViewController* ctrl =
     [[UIViewController alloc] // i'm alloc'ing a UIViewController...

       initWithNibName:@"TheNibName" // But this NIB has, within
       // interface builder, a link to "UIViewControllerDERIVATIVE".  So really,
       // `ctrl` is a UIViewControllerDERIVATIVE instance, not just
       // a UIViewController instance.

       bundle:nil] ;

Причина, по которой я это делаю, заключается в том, что это создает огромное удобство при написании кода, который запускает модальные диалоговые окна .. поскольку Objective-C не поддерживает .

Мой вопрос: это нормально ?? Могу ли я [alloc] a UIViewController только, в то время как на самом деле то, что получается из NIB, является экземпляром UIViewControllerDERIVATIVE? Или это укусит меня в задницу позже?

1 Ответ

2 голосов
/ 19 мая 2010

Вы не можете выделить UIViewController и инициализировать его как UIViewControllerDERIVATIVE, потому что будет несоответствие между тем, как два класса видят свои экземпляры.

Как только экземпляр был выделен классом, он обязан инициализировать его. Это потому, что класс экземпляра устанавливается при выделении экземпляра. См. NSObject reference подробнее.

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