我很难决定哪种方法是保存我的应用程序数据的最佳方法。
这是一个食谱应用。
我有一个类别类对象数组,其中包含一个用于类别标题的 NSString 变量和一个 Recipe 类对象的 NSMutable 数组(其中包含 3 个 NSString 变量)。
这是我的应用程序模型的半可视化表示:
类别数组包含:
- 类别对象 1-->包含字符串标题和食谱对象的可变数组
- 类别对象 2-->包含字符串标题和配方对象的可变数组
...
等等
用户能够创建新的食谱,并且食谱对象存储在选定的类别对象中。
在应用程序加载时创建 x 数量的类别(取决于 numberOfCategories int 的值)。当然,在重新启动时,我想将食谱恢复到它们适当的类别对象中。
希望这不会太令人困惑——我正在使用 NSUserDefaults 方式并执行 NSCoding 来编码/解码我的自定义对象,但发现它令人困惑,因为我有一个自定义对象数组,其中包含一个自定义对象数组。
如果这是将我的项目转换为使用 Core Data 的最佳途径,我对这个想法持开放态度——但对于我的应用程序的简单性来说,这似乎也过于复杂(用类别等预填充我的 SQLite 数据库) .
如果您需要进一步说明,请告诉我。
最佳答案
使用核心数据。听起来您至少需要两个独立的实体并在它们之间建立关系(Recipe 和 RecipeObject)。 NSUserdefaults 非常适合存储需要持久保存的少量数据,但对于您的用例来说并不是很好。
另外,查看 MagicalRecord和 MOGenerator .这两个开源库都使使用 CD 变得更加有趣和高效。
关于objective-c - 保存一个自定义对象数组,每个对象包含一个自定义对象数组,最好的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10538309/