gpt4 book ai didi

iPhone 界面生成器和代表

转载 作者:行者123 更新时间:2023-12-03 18:24:34 24 4
gpt4 key购买 nike

当我制作示例应用程序(即从选项卡栏应用程序或其他应用程序开始)时,在我的 MainWindow.xib 文件中,我看到列出了 5 个项目 - 文件所有者、第一响应者、应用程序委托(delegate)、窗口和选项卡酒吧 Controller 。

如果我创建另一个 .xib 文件,并为其创建一个委托(delegate),并将该文件的所有者设置为我刚刚创建的新委托(delegate),我不会在...对象列表中看到“NewDelegateFile”(?)对于那个.xib。

这对我来说没有意义,我认为这就是为什么我没有那么快地掌握 iPhone 开发的一个重要原因。

有人愿意花时间向我解释一下这个小奇特之处吗?

最佳答案

文件的所有者不是 xib 文件中的真实对象。它是一个代理对象。它表示加载时将成为 xib 所有者的对象。 First Responder 和 App Delegate 也是代理。第一响应者是当前位于响应者链顶部的对象。当应用程序的状态发生变化时,另一个对象可能是第一响应者。您可以使用此代理对象将"file"->“保存”菜单之类的内容连接到在任何给定时间负责处理它的任何对象。

App Delegate 是一个实际的对象。当 xib 加载时它就会启动。正如您在 Interface Builder 中看到的,它连接到文件所有者的委托(delegate)导出。应用程序加载 MainWindow.xib,因此它是文件的所有者。

其他 xib 文件通常通过委托(delegate)对象加载。该委托(delegate)对象是文件的所有者。但委托(delegate)本身是从代码实例化的。它不是从 xib 加载的。这就是它未显示在 Interface Builder 中的原因。

xib 文件包含实际的序列化对象。文件所有者和第一响应者是异常(exception)。它们代表一些其他已经存在的对象。

文件的所有者(通常是非 MainWindow.xib 文件中的 UIViewDelgate)是鸡。 xib就是鸡蛋。鸡蛋里并不含有鸡本身。

有点长。希望对您有所帮助。

关于iPhone 界面生成器和代表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/761814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com