0

我目前正在寻找在我的 iPhone 应用程序中保存数据的最佳方式;在应用程序打开和关闭之间将持续存在的数据。我已经研究过使用 NSKeyedArchiver 进行归档,并且成功地使它工作。但是,我注意到如果我尝试保存多个对象,每次保存时它们都会被覆盖。(基本上,用户将能够创建他/她想要的东西的列表,保存列表,创建更多列表,将它们全部保存,然后能够返回并选择其中任何一个列表以在将来加载日期。)

我听说过 SQLite、Core Data 或使用 .plists 来存储多个数据数组,这些数据会随着时间的推移而持续存在。有人能指出我保存数据的最佳方向吗?谢谢!

4

5 回答 5

2

一旦您克服了最初的学习曲线,Core Data 就非常强大且易于使用。这是一个很好的教程,可以帮助您入门-clicky

于 2011-08-19T13:55:14.367 回答
1

你也可以试试这个框架。它非常简单易用。它基于 ActiveRecord 模式并允许使用迁移、关系、验证等。

它仅使用 sqlite3,没有 CoreData,但您不需要使用原始 sql 或手动创建表。

只需描述您的iActiveRecord并享受。

于 2012-05-14T18:42:32.477 回答
1

作为 CoreData 的一种简单而强大的替代方案,请查看用于 Objective-C 的 ActiveRecord。 https://github.com/aptiva/activerecord

于 2011-08-19T17:51:58.430 回答
1

我会选择 NSKeyedArchiver。听起来问题是您没有正确组织图表。

从技术上讲,您有一个列表列表,但您只保存了内部嵌套列表。

您应该将该列表添加到“超级”列表中,然后将超级列表存档。

CoreData / SQL 似乎与您描述的有点多。

于 2011-08-19T19:18:16.093 回答
0

您想查看Ray Wenderlich 的 CoreData入门教程。它很简短,涵盖了 CoreData 的基础知识。

本质上,如果您有少量数据要存储,您只想查看 plist。设置或首选项的简单列表。任何比这更大的东西,它都会特别围绕性能而分解。在iTunesU上有一个很棒的视频,LinkedIn 的开发人员在其中描述了他们在 plist 和 CoreData 之间的性能指标。

归档工作,但将是存储和检索数据的大量工作,以及将性能挑战放在你的背上。所以我不会去那里。我会使用 CoreData。它上手非常简单,如果您了解此堆栈溢出问题中的对象,那么您就会知道开始所需的一切。

于 2011-08-19T18:41:03.840 回答