-1

我一直在开发 Cocoa 应用程序,我有一个关于单例“模式”和使用NSNotificationCenterfor 通信的概念性问题。

假设我有一个类负责在应用程序中存储用户的凭据。让我们称之为UserAccountController。这样的类公开了执行登录/注销操作的公共方法,并通知任何感兴趣的对象执行了此类操作(例如:在标签栏应用程序中,我想在用户注销时更新所有 UIViiewControllers)。

在我看来,在应用程序中拥有多个UserAccountController对象是没有意义的,另外,第二个UserAccountController对象也可以将通知发布到NSNotificationCenter,这可能会给注册接收此类通知的对象带来麻烦。

鉴于这种情况,我有两个问题:

  1. 在类中使用什么模式,例如UserAccountController.
  2. 任何在应用程序中使用 NSNotifications 进行信息流的类都必须实现单例“模式”?

通过分析 Apple 的课程,我发现问题 2) 是有道理的,但我想避免单例“模式”。

有什么线索吗?

4

1 回答 1

1

我会将用户凭据存储在UserAccountModel对象中。该对象将保存我当前的状态,即登录状态。每当该状态发生变化时,它都会向该事实发布通知。我UIApplicationDelegate会参考该模型。现在,假设我有一个用户输入登录凭据的视图,LoginView. 我的 MVC 将是UserAccountModel-> LoginViewController-> LoginView

于 2011-04-11T19:43:39.230 回答