Objective-C - 如何处理 MainWindow.xib?

Posted

技术标签:

【中文标题】Objective-C - 如何处理 MainWindow.xib?【英文标题】:Objective-C - What to do with MainWindow.xib? 【发布时间】:2011-09-06 10:03:42 【问题描述】:

所以,在 Xcode 中创建一个新项目后,我会看到一个接口文件、一个实现文件和一个 MainWindow.xib 文件。我读过视图控制器对于显示的每个“全屏”都是必需的,所以我的问题是 MainWindow.xib 文件的目的是什么?

目前它是在您启动程序时加载的窗口,但如果我设置一个视图控制器及其关联的 .xib 文件,并在应用程序启动时显示一个全屏显示,那么 MainWindow.xib 不会只是没有意义的文件?

(我对此很陌生,正在努力了解基础知识)。

感谢您的帮助。

【问题讨论】:

只有当你使用界面生成器时,你才必须使用 MainWindow.xib 【参考方案1】:

MainWindow.xib 文件包含实际的窗口(系统需要),您的视图控制器被添加到其中(就像层在彼此之上,窗口是底部画布)。

此窗口被指定为主要代表的 IBOutlet。您可以在重新调整一些东西后删除 MainWindow.xib 文件,但将它留在那里是无害的。

【讨论】:

啊……那么,与视图控制器关联的 .xib 不需要 窗口吗?它只能持有观点?我认为这可能让我感到困惑。 您的视图控制器 XIB 不需要它自己的窗口。它可以拥有自己的 Window 和其他组件(不仅是 Views),但您已经在 MainWindow.xib 中拥有一个处理 Window 的组件,那么为什么要让它更加混乱呢?【参考方案2】:

基本上,Coca 应用程序需要一个主 XIB 文件(这不是必需的,只是一种常见做法)。

它可能不包含窗口,尤其是当您使用视图控制器加载单独的 XIB 文件时。

在这种情况下,主 XIB 文件通常负责定义应用程序的菜单及其操作。

【讨论】:

以上是关于Objective-C - 如何处理 MainWindow.xib?的主要内容,如果未能解决你的问题,请参考以下文章

在 Objective-C 中如何处理 Autorelease 池中的对象?

swift - 如何处理未捕获的异常

我该如何处理这个 Array 对象? (目标-C)

Swift之深入解析如何处理非可选的可选项类型

c# FileSystemWatcher如何处理多个文件?

如何处理 MaxUploadSizeExceededException