我有一个多个Nib应用程序,在我的awakeFromNib:
方法中,有些IBOutlet
是nil。
我想我已经缩小了问题范围,但我不确定原因。我有一个由{Xcode创建的MainWindow.xib
文件。在那里,我有应用程序委托,以及几个视图控制器(我有一个Nib)。我们将其中一个称为MatrixViewController
。
我还有一个MatrixView.xib
文件,我有控制器和视图。我想要做的是从MatrixViewController
的{{1}}初始化一些东西。但是,它的所有出口都是零。
我认为这是因为我在回复的awakeFromNib
是在加载awakeFromNib:
而不是MainWindow.xib
时发送的,我是否正确?
解决这个问题的替代方法是什么?关于它的一个好处是,所有初始化都是在应用程序加载时完成的,我想保留它。
答案 0 :(得分:2)
使用-viewDidLoad
代替-awakeFromNib
这是iPhone与MacOSX的差异之一。
答案 1 :(得分:2)
如果要在显示视图之前更改它们,则只应从viewDidLoad引用IBOutlets。
调用awakeFromNib时,可能尚未加载nib。