在我的基于文档的应用程序中,我有一个 AppController 来处理打开首选项、“关于”面板等。我还有一个单例类;因为它基本上是一个传递的全局对象,谁应该拥有它?使用它的对象还是我的 AppController?我读过的一些文章说你应该有一个“中心”位置 - 就像委托(delegate)一样,其他人则说这是糟糕的设计,并且只有使用类 X 的对象才应该拥有类 X。你的看法是什么?
最佳答案
没有什么东西真正拥有单例,因为它存储在像这样的静态变量中:
static Globals *sharedGlobals = nil;
@implementation Globals
+ (Globals *) sharedGlobals {
if (!sharedGlobals) sharedGlobals = [[Globals alloc] init];
return sharedGlobals;
}
第一次调用sharedGlobals
方法时,单例将由调用它的类创建。谁先调用它并不重要。
关于objective-c - 应用程序设计 - 谁应该拥有单例对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12189110/