Iphone Interface Builder项具体何时实例化?
假设我从XCode4中的模板创建一个基于导航的应用程序,那么MainWindow.xib中将有一个导航控制器,它的子级是RootViewController 那么具体什么时候会:Iphone Interface Builder项具体何时实例化?,iphone,ios,uinavigationcontroller,xcode4,rootview,Iphone,Ios,Uinavigationcontroller,Xcode4,Rootview,假设我从XCode4中的模板创建一个基于导航的应用程序,那么MainWindow.xib中将有一个导航控制器,它的子级是RootViewController 那么具体什么时候会: 是否要创建RootViewController的实例 是否将此实例作为子实例与导航控制器关联 特别是当与ApplicationLegate“didFinishLaunchingWithOptions”方法的计时有关时以及它发生的时间 在代码到达应用程序:didFinishLaunchingWithOptions:之前将
特别是当与ApplicationLegate“didFinishLaunchingWithOptions”方法的计时有关时以及它发生的时间 在代码到达
应用程序:didFinishLaunchingWithOptions:
之前将完成的所有操作。UIApplicationMain()
函数(从应用程序的main()
函数调用)加载MainWindow.nib。加载nib文件时,nib文件中的所有对象都会实例化,并建立对象之间的连接
请注意,这意味着视图控制器本身已经存在于
应用程序:didFinishLaunchingWithOptions:
中。视图控制器的视图并非如此。视图控制器在第一次访问视图时会延迟加载其视图。如plist中所示,主窗口是主nib文件的基本名称。因此me隐藏代码,该代码将基于plist生成,以在启动时加载主窗口nib文件。这发生在didFinishLaunchingWithOptions之前
一旦加载MainWindow nib,就会有一系列在后台完成的操作,请参阅《资源编程指南》中的
其中一个步骤是
它将取消nib对象图的归档
数据并实例化对象
然后,它几乎最终做到了:
它将awakeFromNib消息发送到
nib中的适当对象
定义匹配项的文件
选择器:
...
在iOS中,此消息仅发送给
创建的接口对象
由nib加载代码实例化。
首先,它不会发送给文件的所有者
响应程序或任何其他代理对象
您可以掌握的第一种方法是awakeFromNib
要回答您的三个问题: