【发布时间】:2013-03-11 13:44:56
【问题描述】:
我有一个 SettingsManager 单例,它处理整个应用程序中的用户设置(例如,每当在任何视图控制器中播放声音时,都会检查 SettingsManager 以查看声音是否打开以及音量是多少) .
该类对象(我使用[SettingsManager sharedManager] 访问)能否响应发送到其他地方的委托消息?例如,如果我在 SettingsViewController 中打开声音,类方法对象可以拾取并保存这些更改到磁盘吗?
【问题讨论】:
-
最简单的方法是从适当的位置调用 SettingsManager 的保存数据方法,无论这是否是委托回调。
-
@AaronBrager 是单例,sharedManager 是类方法,不是实例方法。我不能在上面调用其他方法,可以吗?
-
sharedManager 是一种返回对象的一个实例(唯一实例)的类方法。你的单例仍然是一个可以有属性、方法等的实例。
-
它看起来像
[[SettingsManager sharedManager] saveData];,你的 .h 文件中有- (void) saveData; -
您没有在类方法上调用实例方法。您正在对类方法返回的实例化对象调用实例方法。
标签: ios objective-c delegates singleton class-method