【发布时间】:2011-04-06 22:55:17
【问题描述】:
我对 OO 还很陌生。如果我有两个类 A 和 B 需要交换数据,或者调用彼此的方法,我需要能够从类 A 访问 B 类的实例。我应该在全局变量中维护实例对象的地址吗?我应该指定一个(单例)主类,并创建(指向)主类的 A 和 B 属性的实例吗? (想到 AppDelegate。)
有没有一种简单的按书本的方法来实现这一点?不知何故,我在这里错过了一些“最佳实践”。我查看了 Apple 的示例,但没有找到答案。
编辑:由于我对 MVC 设计模式还很陌生,所以我的问题本质上是“谁创造了谁”?
我们在这里谈论的是音频播放器。 1. 当用户选择一首歌曲时,UI 通过创建一个 viewController 来显示其波形,该 viewController 创建适当的视图。 2. 当用户点击播放时,UI 会在歌曲播放时通过在波形上覆盖一个新视图来显示时间线。现在,后一个视图需要来自波形显示视图控制器的一些信息。现在,我将指向 viewController 的指针存储在我的 appDelegate 的实例变量中。这行得通,但感觉非常奇怪。
我是否应该将两个班级所需的信息外包给每个班级都可以轻松访问的第三方实体?
【问题讨论】:
标签: objective-c cocoa oop