1

我很难决定哪种方法是保存我的应用数据的最佳方法。

这是一个食谱应用程序。

我有一个类别类对象数组,其中包含类别标题的 NSString 变量和 Recipe 类对象的 NSMutable 数组(其中包含 3 个 NSString 变量)。

这是我的应用模型的半可视化表示:

类别数组包含:

  • 类别对象 1--> 包含字符串标题和配方对象的可变数组
  • 类别对象 2--> 包含字符串标题和配方对象的可变数组

...

等等

用户能够创建新配方,并且配方对象存储在选定的类别对象中。

在应用程序加载时,会创建 x 数量的类别(取决于 numberOfCategories int 的值)。当然,在重新启动时,我想将食谱恢复到适当的类别对象。

希望这不会太令人困惑——我采用 NSUserDefaults 方式并执行 NSCoding 事情来编码/解码我的自定义对象,但发现它令人困惑,因为我有一个包含自定义对象数组的自定义对象数组。

如果这是将我的项目转换为使用 Core Data 的最佳途径,我愿意接受这个想法——但对于我的应用程序的简单性来说,这似乎也过于复杂(使用类别等预先填充我的 SQLite 数据库)。

如果您需要进一步说明,请告诉我。

4

2 回答 2

1

使用核心数据。听起来您至少需要两个独立的实体并在它们之间建立关系(Recipe 和 RecipeObject)。NSUserdefaults 非常适合存储需要持久化的少量数据,但对您的用例来说并不是很好。

另外,请查看MagicalRecordMOGenerator。这两个开源库都使使用 CD 变得更加有趣和高效。

于 2012-05-10T16:48:00.180 回答
0

我建议您将对象序列化为 XML,这是存储分层数据的好方法。

于 2012-05-10T16:28:36.247 回答