菜鸟教程小白 发表于 2022-12-13 17:10:12

iphone - Interface Builder 项目何时被实例化?


                                            <p><p>假设我从 XCode4 中的模板创建了一个基于导航的应用程序,那么在 MainWindow.xib 中将有一个导航 Controller ,它有一个子 RootViewController。</p>

<p>那么具体什么时候:</p>

<ol>
<li>创建 RootViewController 的实例?</li>
<li>此实例是否作为子级与导航 Controller 相关联?</li>
</ol>

<p>特别是当涉及到 applicationDelegate “didFinishLaunchingWithOptions”方法的时间以及它发生的时间。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在 plist 中,MainWindow 是主 nib 文件的基本名称。所以有一些隐藏代码将基于 plist 生成,以在启动时加载主窗口 nib 文件。这发生在 didFinishLaunchingWithOptions 之前。</p>

<p>一旦加载了 MainWindow nib,就会在后台执行一系列操作,请参阅 <a href="http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html#//apple_ref/doc/uid/10000051i-CH4-SW18" rel="noreferrer noopener nofollow">The Nib Object Life Cycle</a>在资源编程指南中。 </p>

<p>其中一个步骤是</p>

<blockquote>
<p>It unarchives the nib object graph
data and instantiates the objects.</p>
</blockquote>

<p>然后几乎终于做到了:</p>

<blockquote>
<p>It sends an awakeFromNib message to
the appropriate objects in the nib
file that define the matching
selector:
...
In iOS, this message is sent only to
the interface objects that were
instantiated by the nib-loading code.
It is not sent to File’s Owner, First
Responder, or any other proxy objects.</p>
</blockquote>

<p>您可以掌握的第一个方法是 <code>awakeFromNib</code>。</p>

<p>回答你的三个问题:</p>

<ol>
<li>在加载 MainWindo nib 文件期间</li>
<li>是的,看看界面生成器中的 nib 文件</li>
<li>这一切都发生在 didFinishLaunchingWithOptions 之前</li>
</ol></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - Interface Builder 项目何时被实例化?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/5764020/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/5764020/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - Interface Builder 项目何时被实例化?