Хорошо, допустим, у меня есть viewController с именем TCViewController
с
TCViewController.h, TCViewController.m and TCViewController.xib
и в TCViewController.m
я переопределяю следующий метод.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
В моем RootViewController я хочучтобы инициализировать TCViewController следующим образом
RootViewController.m
-(void)viewDidLoad //not necessarily this one, can be any method
{
// This initialization calls the initWithNibname method implemented in TCViewController.m
TCViewController *viewController = [[TCViewController alloc] initWithNibName:@"TCViewController" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
}
Если вы инициализируете viewController, как это, управление перейдет к методу initWithNibName в вашем подклассе, если вы его реализовали.