0

我正在创建一个应用程序并使用 Parse.com 进行数据存储。

我想为我使用的 Parse 的所有不同方面使用模型。例如,如果我存储一些游戏数据,我想要一个模型来处理对 Parse 上保存的游戏模型的任何查找/更新/条目。

所以我想要一个模型来处理所有这些方法,而不是将它们添加到视图控制器中。

设置这些的最佳/正确方法是什么?我听说过单身人士,但不确定他们在这里是否正确。

目前,我使用 NSObject 的子类设置这些。然后我将所有方法创建为类方法(没有实例方法,因为没有要创建的实例)。然后我像往常一样调用任何类方法。

[GameModel classMethodName];

这是正确的吗?这种方法是否有更好的方法或任何问题?

4

1 回答 1

0

目前,我使用 NSObject 的子类设置这些。然后我将所有方法创建为类方法(没有实例方法,因为没有要创建的实例)。然后我像往常一样调用任何类方法。

这听起来不是一个很好的计划。模型的工作是管理应用程序操作的数据。这意味着您的模型应该有数据要存储,这意味着您应该实例化您的模型。

为您的后端基础架构(在您的情况下为 Parse)构建支持是一个好主意。把它放在那里比把它放在你的视图控制器中要好得多。但是,例如,支持代码在哪里存储游戏状态或玩家的历史记录?它应该将其存储在模型对象中。

没有进入整个单例好与单例坏的蠕虫罐(你应该谷歌那个),听起来你使用类方法的原因与人们经常使用单例的原因大致相同:易于访问。实例化你的类并使用实例方法而不是类方法意味着你必须找到一种方法来与那些需要它的对象共享模型,这比仅仅使用全局可访问的类方法更有效。不过,做这项工作将有助于获得更好的应用程序。

例如,您可以将每个视图控制器的访问权限限制为只访问它需要的模型部分。游戏视图控制器可能只能看到当前的游戏板,而高分视图控制器只能看到玩家的历史。这消除了许多可能的错误——您永远不必怀疑游戏板视图控制器是否会导致玩家历史记录出现问题,因为它永远不会看到模型的那部分。

于 2013-09-03T16:14:58.817 回答