好的,这是我的情况,我真的不确定使用哪种设计方法。因此,我很高兴阅读有关我的特定案例的一些输入...
场景:
- 我有一个基于标签的应用程序
- 最初,我们创建一个
NSWindowController
(egMyDocumentManager
) 的实例,它负责选项卡的创建/操作 - 每个选项卡包含(= 附加到)一个实例
MyDocument
现在,我将要实现菜单操作。
- 每个菜单都有一个单独的菜单控制器(实际上是
NSObject
所有相关功能分组的子类),例如MyFileMenuController
- 文件菜单的动作
MyFileMenuController
通过 Interface Builder 链接到对象中的动作
问题:
- 怎么可能
MyFileMenuController
“知道”(MyDocumentManager
在 my 中创建AppDelegate.m
),以便我们可以访问当前文档详细信息并执行所有相关操作?有任何想法吗?哪种方法更可取?
我的想法:
- 将对象从一个类传递到另一个类(听起来不太好)
- 单身人士(尽管老实说我从未使用过它们,也不知道它是否/如何是我的特殊情况)
- 通知和通知监听器
- (从对面看,虽然不确定)委托方法