我正在创建一个应用并使用Parse.com进行数据存储。
我想在我使用的Parse的所有不同方面使用模型。例如,如果我存储一些游戏数据,我想要一个模型来处理在Parse上保存的游戏模型中的任何查找/更新/条目。
所以我希望Model能够处理所有这些方法,而不是将它们添加到View Controllers中。
设置这些内容的最佳/正确方法是什么?我听说过单身人士但不确定他们在这里是否正确。
目前,我使用NSObject的子类设置它们。然后我创建所有方法作为类方法(没有实例方法,因为没有要创建的实例)。然后我像往常一样调用任何类方法。
[GameModel classMethodName];
这是正确的吗?这种方法有更好的方法或问题吗?
答案 0 :(得分:0)
目前,我使用NSObject的子类设置它们。我然后创建 作为类方法的所有方法(没有实例方法,因为没有 要创建的实例)。然后我像往常一样调用任何类方法。
这听起来不是一个非常好的计划。模型的工作是管理应用程序运行的数据。这意味着您的模型应该有要存储的数据,这意味着您应该实例化您的模型。
为您的后端基础架构构建支持(Parse,在您的情况下)是一个好主意。把它放在那里比把它放在你的视图控制器中要好得多。但是,支持代码在哪里存储游戏状态,或者玩家的历史?它应该将它存储在模型对象中。
没有进入整个单身人士对单身人士的好坏蠕虫(你应该谷歌),听起来你使用的是类方法,就像人们经常使用单身人士一样:轻松访问。实例化你的类并使用实例方法而不是类方法意味着你必须找到一种方法来与需要它的那些对象共享模型,而这比使用全局可访问的类方法更有用。但是,做这项工作将有助于更好的应用。
例如,您可以限制每个视图控制器只访问它所需的模型部分。游戏视图控制器可能只能看到当前游戏板,高分视图控制器只能看到玩家的历史记录。这消除了许多可能的错误 - 你永远不会想知道游戏板视图控制器是否会导致玩家历史记录出现问题,因为它永远不会看到模型的那部分。