【发布时间】:2011-04-19 20:56:57
【问题描述】:
在我的应用程序中,我需要保存一些数据。现在我使用 CoreData,我有一个具有 6 个属性的实体。在我的数据库中,这个实体大约有 40 个对象。
所以我的问题是,将它们保存在 plist 中是否更好?我对这两种技术的性能没有经验,但我认为 plist 适用于较小的对象列表,但它更快,而对于 CoreData 则相反。
你会说什么?
【问题讨论】:
标签: performance ios core-data plist
在我的应用程序中,我需要保存一些数据。现在我使用 CoreData,我有一个具有 6 个属性的实体。在我的数据库中,这个实体大约有 40 个对象。
所以我的问题是,将它们保存在 plist 中是否更好?我对这两种技术的性能没有经验,但我认为 plist 适用于较小的对象列表,但它更快,而对于 CoreData 则相反。
你会说什么?
【问题讨论】:
标签: performance ios core-data plist
实际上,对于大型数据存储,Core Data 会更快。 Plists 不能部分加载,所以如果你想加载任何东西,你需要在整个存储中读取,这意味着浪费时间以及不必要的高内存使用。另一方面,Core Data 知道如何在您需要的时候只检索您需要的资源。
在您的情况下,只需使用 Core Data。学习曲线更陡峭,但值得。
【讨论】:
CoreData、plist 或只是键控归档 - 都可以。
CoreData 具有出色的功能和性能,但它们是有代价的:设置需要一些工作,改变结构是可能的,但需要更多思考。
如果您的数据集小且结构简单,我会绕过 CoreData。如果它可能很大并且依赖于用户,那么答案可能会有所不同。如果数据是一个小的静态集(即不改变),那么使用易于编辑和维护(由开发人员)的 plist。
【讨论】: