今天写了个两个视图相互传值的程序,发现了一个小问题。解决办法和楼下引用的文献是一样的,我是解决之后去谷歌的,但是发现这个问题别人也遇到过,而且也找到了变通的法子。
The nib file you specify is not loaded right away. It is loaded the first time the view controller’s view is accessed. If you want to perform additional initialization after the nib file is loaded, override the viewDidLoad method and perform your tasks there.
个人观点是把IBOutlet当作subview,采用延迟加载的策略,具体而言就是在显示视图控制器对应的视图时,紧随view加载,可以viewDidLoad里设置或者在视图显示出来的时候,按道理来说在viewDidLoad中比较自然~~~~因为经过我的测试,在iewDidLoad中的行为要先于在presentViewController:后对IBOutlet的设置。
http://blog.csdn.net/zxc110110/article/details/7184528
BOutlet变量的生命周期 IBOutlet怎么会是nil呢(内功篇)
当使用initWithNibName 初始化viewController时,发现IBoutlet修饰的变量为nil。原因是该viewController或view没有加载到当前视图中,不处于活动状态。
类似的一个情况: http://blog.prosight.me/index.php/tag/iboutlet
如果不使用navigation Controlle的话,必须在
[XXViewaddSubview:fileOverviewViewControll