在我的应用程序中,我希望有一个“大脑”来跟踪正在发生的事情。也就是说 - 多个视图控制器需要能够在这个大脑中设置值并获取其数据。
我将如何实施此功能?从我所知道的,让我的大脑成为一个单独的类是一个选项,否则我必须在每个视图控制器中将大脑声明为委托,并在每次创建时将大脑分配给它,这看起来非常混乱。
答案 0 :(得分:3)
正如你所说,你的答案就在你的问题中。如果要从多个对象访问对象并且不需要多个副本,请使用单例模式。
请记住,如果您的代码中有两个或多个对象试图同时操纵“大脑”,则必须保持数据线程安全。
答案 1 :(得分:2)
对于Singleton模式,您可能希望阅读此What is so bad about singletons?
确保使用MVC模式设计应用,您应该做得很好。 “大脑”就是模型。
“模型”的行为取决于您的应用程序。
答案 2 :(得分:1)
单身模式是一种选择。另一种选择是NSUserDefault。
答案 3 :(得分:1)
是的,你是对的单身人士是一个不错的选择。 因为我认为你正在处理少量的数据,所以单例将是好的和容易的,否则就是在数据库或NSuserDefaults中保存数据。