对于我的应用程序,我想到了两种不同的数据模型,但我无法看到哪一个在性能和文件大小上都是最好的。在我的应用程序中,我必须存储食谱,它将包含一个含有成分的数组,一个带有说明的数组,一个包含提示和一些属性的数组以选择一些食谱(例如评级,菜类型)。关于数据模型的思考
我想到了两种不同的模型。第一种方法是将数组转换为NSData并将它们全部存储在Core Data模型中。由于数组是本地化的,这意味着在那里会有多个相同类型的数组(例如instructionsEN,instructionsFR,instructionsNL)。由于不需要查询数组,我很高兴我必须将数组转换为NSData。
另一个模型将是一个核心数据,它只包含过滤配方的属性,以及存储在主包或文档目录中的.plist文件的标识符(因为其中一些文件将被创建由我们和一些由用户创建)。这.plist文件将包含所有说明,成分等。同样,对于不同的本地化,也有多个相同种类的数组。
我希望你能帮助我做出决定,哪些选项在性能和磁盘空间方面最好。如果您能想出不同的解决方案,我也会很感激。
所以我应该创建一个食谱实体,它与一个Ingredients实体(它又与Component实体有关系)和一个Instructions实体都有一对多的关系。然后所有这些实体都包含本地化数据的属性。 – thvanarkel 2012-02-29 20:46:48
这就是我如何攻击它,至少要开始。如果您需要提高性能或简化性,它可为您提供一些重构灵活性。你可以避免为了找到“高星级食谱”而错过所有的指示。 – 2012-02-29 21:00:31