我对Core Data知之甚少。阅读:我已经阅读了一些教程,有点了解它是如何工作的,但从未尝试过在我的任何应用程序中使用它。也就是说,我想知道在我正在开发的应用程序中使用它是否值得付出努力。请注意,我不是在问我是否应该学习核心数据,但是如果我花时间为我正在制作的这个特定应用程序学习它,或者如果我应该使用归档,请运送应用程序,然后在我的业余时间学习核心数据。
基本上我的应用程序从Web服务中读取项目列表,并且需要保存最后N个项目。用户还应该能够为项目添加书签,这是我应该在某处存储的另一件事。所以,现在我只是归档一个最新项目范围为0-N的子阵列。它有用吗?是。它是否高效,是实现这一目标的最佳方式?这实际上是我的问题。
我怀疑的是,每当我看到有人问'核心数据是否过度杀害我的项目?'无论如何,每个人都建议使用它。
答案 0 :(得分:5)
如果您需要保留的数据量可以很容易地放入内存而不会降低应用程序性能,那么您应该只归档阵列并发布应用程序。
核心数据在处理大型和复杂数据集时具有很多优势。它在维护和升级已发布的应用程序方面具有很多优势。但是,这些优点不应妨碍运送其他已完成的应用程序。稍后,您始终可以编写代码将已发布的版本迁移到Core Data版本。这是更多的工作,但嘿,至少你已经有一个运载的应用程序。
我见过很多小型创业公司/开发商来来去去,成功与非成功的主要因素是成功的实际发货/发布产品。你可以花费永久性的抛光应用程序,但关键的是知道何时说“它足够好”并将该东西带入用户的手中。
答案 1 :(得分:0)
如果它是一个小列表并且您拥有NSDictionary或NSArray集合中的数据,请使用writeToFile:atomically:
代替平面文件XML Plist存储。
我仍然认为你最终应该学习核心数据,但是。