我无法确定哪种方法可以保存我的应用数据。
这是一个食谱应用程序。
我有一个类别类对象数组,其中包含类别标题的NSString变量和一个配方类对象的NSMutable数组(包含3个NSString变量)。
这是我的应用模型的半直观表示:
类别数组包含:
...
等
用户可以创建新配方,配方对象存储在选定的类别对象中。
在app load x上创建了多少类别(取决于numberOfCategories int的值)。当然,在重新启动时,我想将配方恢复到适当的类别对象。
希望这不是太混乱 - 我正在采用NSUserDefaults方式并对NSCoding事件进行编码/解码我的自定义对象,但发现它令人困惑,因为我有一个包含自定义对象数组的自定义对象数组。
如果这是将我的项目转换为使用核心数据的最佳途径,我对这个想法持开放态度 - 但对于我的应用程序的简单性(使用类别等预先填充我的SQLite数据库等),这似乎也过于复杂了。
如果您需要进一步澄清,请与我们联系。
答案 0 :(得分:1)
使用CoreData。听起来你需要至少两个独立的实体并在它们之间建立关系(Recipe和RecipeObject)。 NSUserdefaults非常适合存储需要保留的少量数据,但对于您的用例并不是很好。
另外,请查看MagicalRecord和MOGenerator。这两个开源库使得使用CD变得更加有趣和高效。
答案 1 :(得分:0)
我建议您将对象序列化为XML,这是存储分层数据的好方法。