多个ViewControllers - 我应该使用单个对象吗?

时间:2011-11-02 15:16:08

标签: objective-c xcode singleton

我有一个新项目,一种棋盘游戏,我正在使用一个有多个视图控制器的故事板 - 游戏只是从一个视图移动到另一个视图,玩家做出各种决定然后循环回来

我有一个对象,其中包含有关播放器的信息(以及几种方法) - 得分等。我显然只需要此对象的一个​​实例,因为我希望每个View Controller访问同一个实例,如果它单身?我之前从未使用它们,而且我读过它们经常被过度使用,所以我只是想从一开始就检查这是否是正确的方法。非常感谢。

3 个答案:

答案 0 :(得分:1)

我个人对单身人士一无所知,只要你不在一个项目中使用太多单身人士。虽然其他人可能会建议你为这个项目使用一些其他的中介,但我会说它 - 这正是你使用单身人士的原因。

答案 1 :(得分:1)

您所描述的是适用于您的应用程序的模型,包含游戏数据和核心逻辑。有没有理由让它成为一个单身而不是在你的控制器之间传递它?!

我会假设一个控制器调用下一个,所以可以传递这些信息?!我们使用单例作为服务等而不是模型数据,在我们的经验中,它并不是真正的重点。

答案 2 :(得分:0)

如果您正在开发库组件,大型服务器项目或进行单元测试,那么Singleton可能会很糟糕。但是,既然你正在做一款iphone游戏,请不要担心它,只使用一个单身就会更容易,更快。

如果你担心单元测试,因为objetive-c是迟到的,而单例是用工厂方法而不是构造器制作的,所以无论如何都不难更改单元测试的单例。