我目前正在寻找在iPhone应用程序中保存数据的最佳方法;在打开和关闭应用程序之间将持续存在的数据。我已经研究过使用NSKeyedArchiver进行归档,并且我已经成功地使其工作。但是,我注意到如果我尝试保存多个对象,每次保存时它们都会被覆盖。 (基本上,用户将能够创建他/她想要的事物列表,保存列表,创建更多列表,保存所有列表,然后能够返回并选择任何这些列表以便在将来加载日期。)
我听说过SQLite,核心数据,或使用.plists存储多个数据数组,这些数据将随着时间的推移而持续存在。有人能指出我保存数据的最佳方向吗?谢谢!
答案 0 :(得分:2)
核心数据非常强大且易于使用,一旦您克服了初始学习曲线。这是一个很好的教程,可以帮助您入门 - clicky
答案 1 :(得分:1)
作为CoreData的简单而强大的替代方案,请查看ActiveRecord for Objective-C。 https://github.com/aptiva/activerecord
答案 2 :(得分:1)
我会选择NSKeyedArchiver。听起来问题是你没有正确组织图表。
从技术上讲,您有一个列表列表,但您只保存内部嵌套列表。
您应该将列表添加到“超级”列表中,然后归档超级列表。
CoreData / SQL似乎与您描述的内容有点不同。
答案 3 :(得分:1)
您也可以尝试framework。它非常简单易用。 它基于ActiveRecord模式,允许使用迁移,关系,验证等。
它仅使用sqlite3,没有CoreData,但您不需要使用原始sql或手动创建表。
只需描述您的iActiveRecord并享受。
答案 4 :(得分:0)
您希望在CoreData入门时查看this tutorial by Ray Wenderlich。它的简短,并介绍了CoreData的基础知识。
基本上,如果您要存储少量数据,您只想查看plists。简单的设置或首选项列表。比这更大的东西,它特别针对性能而分解。在iTunesU上有一个很棒的视频,LinkedIn上的开发人员描述了plist和CoreData之间的性能指标。
归档工作,但是要存储和检索您的数据,以及将性能挑战放在背后,将会有很多工作。所以我不会去那里。我会使用CoreData。它非常简单,如果您了解this stack overflow question中的对象,那么您就知道了开始所需的一切。