gpt4 book ai didi

objective-c - 应用程序设计 - 谁应该拥有单例对象

转载 作者:行者123 更新时间:2023-12-03 17:56:46 27 4
gpt4 key购买 nike

在我的基于文档的应用程序中,我有一个 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com