在推送UIViewController时没有调用viewDidLoad

时间:2011-09-29 01:28:42

标签: iphone objective-c uiviewcontroller interface-builder pushviewcontroller

我正在推动UIViewController如此:

UIViewController* individualsController = [[[UIViewController alloc] initWithNibName:@"IndividualsController" bundle:nil] autorelease];

[self.navigationController pushViewController:individualsController animated:YES];

NIB本身正在加载正常,所有元素都加载到屏幕上。但是没有一个视图控制器的方法被调用。没有viewDidLoad,没有viewWillAppear,只是推送了NIB而没有别的。

视图插座设置在NIB中;我无法弄清楚为什么没有人被召唤!

1 个答案:

答案 0 :(得分:5)

一种可能性是你将它实例化为UIViewController而不是你的UIViewController子类的名称,所以它调用那些方法,但是在UIViewController上,而不是你的类。假设子类名为IndividualsController,请尝试将该行更改为

IndividualsController* individualsController = [[[IndividualsController alloc] initWithNibName:@"IndividualsController" bundle:nil] autorelease];

看看会发生什么。