如何处理多个控制器类之间的可可通信

kad*_*ian 2 model-view-controller cocoa controller objective-c nstabview

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

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

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

谢谢!

Car*_*ter 5

当我开始Cocoa开发时,我经常遇到这些类型的问题.我最终发现没有真正的答案.在Cocoa和Objective-C中,有很多方法可以给猫皮肤涂抹,最终它最终取决于你.

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

在我看来,这是一个简单有效的解决方案.您最终会在控制器之间使用循环引用,但Objective-C的Nib加载/卸载代码将为您完成所有这些操作.