我一直在开发 Cocoa 应用程序,我有一个关于单例“模式”和使用NSNotificationCenter
for 通信的概念性问题。
假设我有一个类负责在应用程序中存储用户的凭据。让我们称之为UserAccountController
。这样的类公开了执行登录/注销操作的公共方法,并通知任何感兴趣的对象执行了此类操作(例如:在标签栏应用程序中,我想在用户注销时更新所有 UIViiewControllers)。
在我看来,在应用程序中拥有多个UserAccountController
对象是没有意义的,另外,第二个UserAccountController
对象也可以将通知发布到NSNotificationCenter
,这可能会给注册接收此类通知的对象带来麻烦。
鉴于这种情况,我有两个问题:
- 在类中使用什么模式,例如
UserAccountController
. - 任何在应用程序中使用 NSNotifications 进行信息流的类都必须实现单例“模式”?
通过分析 Apple 的课程,我发现问题 2) 是有道理的,但我想避免单例“模式”。
有什么线索吗?