如何申请“Master Brain”?

时间:2012-07-02 08:39:15

标签: ios design-patterns

在我的应用程序中,我希望有一个“大脑”来跟踪正在发生的事情。也就是说 - 多个视图控制器需要能够在这个大脑中设置值并获取其数据。

我将如何实施此功能?从我所知道的,让我的大脑成为一个单独的类是一个选项,否则我必须在每个视图控制器中将大脑声明为委托,并在每次创建时将大脑分配给它,这看起来非常混乱。

4 个答案:

答案 0 :(得分:3)

正如你所说,你的答案就在你的问题中。如果要从多个对象访问对象并且不需要多个副本,请使用单例模式。

请记住,如果您的代码中有两个或多个对象试图同时操纵“大脑”,则必须保持数据线程安全。

答案 1 :(得分:2)

对于Singleton模式,您可能希望阅读此What is so bad about singletons?

确保使用MVC模式设计应用,您应该做得很好。 “大脑”就是模型。

“模型”的行为取决于您的应用程序。

答案 2 :(得分:1)

单身模式是一种选择。另一种选择是NSUserDefault。

答案 3 :(得分:1)

是的,你是对的单身人士是一个不错的选择。 因为我认为你正在处理少量的数据,所以单例将是好的和容易的,否则就是在数据库或NSuserDefaults中保存数据。