2

我是 Cocoa 的新手,也许这些问题非常基础。目前我正在开发一个使用 NSTabView 的 mac 应用程序,您可以在其中在“app”、“options”和“statistics”之间切换。

现在我的方法是创建三个控制器类,一个 AppControler、一个 OptionsController 和一个 StatisticsController。我在 .xib 文件中为它们创建了对象,并将相应的 UI 元素链接到正确的控制器对象。

我的问题是: - 这是正确的方法,为 NSTabView 拥有多个控制器对象吗?- 当我希望 AppController 获取有关选项的信息时,如何在 App- 和 OptionsController 之间进行通信?

谢谢!

4

3 回答 3

5

当我开始 Cocoa 开发时,我经常为这些类型的问题苦苦挣扎。我最终发现没有真正的答案。在 Cocoa 和 Objective-C 中,有很多方法可以给猫剥皮,最终它真的最终取决于你。

由于您的所有控制器都将加载 Nib,因此最简单的方法是在每个控制器中为希望与之通信的其他控制器对象创建一个插座。在界面生成器中连接插座,您就可以开始了。

在我看来,这是一个简单有效的解决方案。你最终会得到控制器之间的循环引用,但 Objective-C 的 Nib 加载/卸载代码将为你处理所有这些。

于 2011-10-09T12:28:26.640 回答
1

对于选项卡视图,我通常只为该窗口中的所有选项卡创建一个控制器,但如果使用超过 3 或 4 个选项卡,我可能会将其拆分,并且每个选项卡都需要大量代码来处理操作和网点。

于 2011-10-11T03:00:10.240 回答
0

通常,使用 MVC 范例。在您的情况下,如果一个控制器正在创建或修改某些设置,您以某种方式在模型中设置它(可能像某些用户默认设置一样简单),如果在其他地方使用,您可以从模型中读取它。

于 2011-10-09T12:39:13.903 回答