类方法单例对象可以响应委托调用吗?

时间:2013-03-11 13:44:57

标签: ios objective-c delegates singleton class-method

我有一个SettingsManager单例,可以在我的应用程序中处理用户设置(例如,每当在任何视图控制器中播放声音时,都会检查SettingsManager以查看声音是否已打开,以及在什么卷。)

该类对象(我使用[SettingsManager sharedManager]访问)是否可以响应其他地方发送的委托消息?例如,如果我在SettingsViewController中切换声音,那么类方法对象是否可以选择该项并将其保存到磁盘上?

1 个答案:

答案 0 :(得分:2)

你的单身人士,一旦被实例化,当然可以充当代表。最后,它也像任何其他对象一样是一个对象。唯一的区别是它只被实例化一次。

但是,如果您只通过类方法访问它并且不在属性,ivars等中存储任何数据,那么它可能根本不会被实例化。在这种情况下,我不确定它是否是一个真正的单例,但我看到有人称它为单例,尽管它实际上从未实例化过。在这种情况下,在类方法中,self总是引用类而不是实例。一个班级不能担任代表。

所以,根据你的单身人士的样子,答案是肯定还是否定。