0

注意:使用 Objective-C、Cocoa 和 Xcode。

起初,我在 AppDelegate 中完成了所有的编程,并在同一个“.xib”(nib 文件)中拥有所有用户界面元素,例如窗口。起初这很好用,但随着我的应用程序变得更高级,具有更多“功能”,一切都变得非常混乱,文件太长,我不喜欢。

我现在正在努力进步。我想知道我应该如何(正确有效地)进行多窗口项目?我的计划是为每个窗口创建一个 .xib 文件,并且只在 AppDelegate 中放置必要的东西。然后,我将拥有一个用于所有必要计算的核心文件,以便在我的应用程序中使用,以及一个主控制器文件来控制来自我应用程序中所有窗口的出口和操作。但是,我对 Objective-C 还是很陌生,并且在尝试设置窗口控制器和其他东西时遇到了很多问题。

我是否走在正确的道路上?我做错了吗?我应该如何在 Xcode 中管理多窗口用户界面应用程序?

提前致谢。

4

1 回答 1

2

对于多个窗口,我认为最好为每个窗口使用一个 NSWindowController,并与窗口相关联的 xib 文件。我不确定“用于控制所有窗口的出口和操作的主控制器文件”是什么意思——每个窗口控制器都有自己窗口的出口。您不能跨多个 xib 文件连接插座。您可以在创建项目时默认获得的 MainMenu.xib 文件中拥有一个窗口,并使用它来启动其他窗口,但是如果不知道所有窗口之间的关系,就很难提供更具体的建议.

编辑后:

如果你想打开另一个窗口,菜单项的操作方法是这样的:

    self.controller = [[WindowController alloc] initWithWindowNibName:@"WindowController"];
    [self.controller showWindow:nil];

在这里,我有一个名为 controller 的属性来保持对新窗口控制器的强引用。如果您不这样做,控制器将被释放,因此如果您有多个要同时显示的窗口,您将需要属性来保留它们。

于 2013-02-13T01:23:42.163 回答