Iphone 从nib加载的UIViewController:-未调用viewDidLoad

Iphone 从nib加载的UIViewController:-未调用viewDidLoad,iphone,Iphone,在nib中添加UIViewController时,我需要做什么特殊的事情?My-viewDidLoad方法未被调用,即使正在加载nib并且其子类在IB中设置为My view controller类 这是我的测试用例。我就是不明白为什么没有调用FooViewController-viewDidLoad 谢谢你的帮助。如果我看得对的话,你在那里创建的FooViewController没有任何用处。在MainWindow.xib中,您有一个导航控制器和自己的RootViewController。到现

在nib中添加UIViewController时,我需要做什么特殊的事情?My-viewDidLoad方法未被调用,即使正在加载nib并且其子类在IB中设置为My view controller类

这是我的测试用例。我就是不明白为什么没有调用FooViewController-viewDidLoad


谢谢你的帮助。

如果我看得对的话,你在那里创建的FooViewController没有任何用处。在MainWindow.xib中,您有一个导航控制器和自己的RootViewController。到现在为止,一直都还不错。您可以在RootViewController.xib中定义该视图。也可以。但是最后一个xib中的视图控制器将不会执行任何操作,除非您执行类似的操作

[self.navigationController pushViewController:detailViewController animated:YES];
(位于您的DidSelectRowatineXpath中)

当用户选择一行时,DidSelectRowatingIndexPath中注释掉的部分基本上会调用一个新的viewcontroller,并在加载关联的xib文件时调用,该文件加载在此行中:

DetailViewController *detailViewController = [[DetailViewController alloc]
                                              initWithNibName:@"Nib name" bundle:nil];
您也可以像现在一样在nib文件中创建viewcontroller,但随后需要定义

IBOutlet FooViewController *fooVC;

并在IB中链接,然后当用户选择某个内容时,将此fooVC推到视图堆栈上-在这种情况下,您将跳过上面的alloc/init行。

向FooViewController添加视图。 只需转到interface builder并将视图拖动到FooViewController