在推送UIViewController时没有调用viewDidLoad

Pet*_*zes 1 iphone objective-c interface-builder uiviewcontroller pushviewcontroller

我是这样推的UIViewController:

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

[self.navigationController pushViewController:individualsController animated:YES];
Run Code Online (Sandbox Code Playgroud)

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

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

Mat*_*ham 5

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

IndividualsController* individualsController = [[[IndividualsController alloc] initWithNibName:@"IndividualsController" bundle:nil] autorelease];
Run Code Online (Sandbox Code Playgroud)

看看会发生什么.