繁体   English   中英

搜索核心数据与Plist

[英]Searching Core Data vs. Plist

我正在搜索350个字典对象。 将数据存储在Core Data或plist中进行搜索会更有效吗?

基本上,每个对象都是一个包含8个键值的字典。 350个对象在线存储在JSON提要中。 我想在应用首次启动时下载Feed,然后将数据存储到核心数据或plist中。 在应用程序中,有一个表默认有几个对象。 然后,用户可以添加/删除这些项目。 当用户单击添加时,我想向用户显示所有350个对象,并提供搜索机制。

在这种情况下,我应该将JSON提要存储到Plist还是使用Core Data?

这取决于。 如果您没有遇到实际的性能问题,请为您的应用程序做更具可读性和适用性的问题。 例如,如果要保存用户可以添加某种记录的数据,则核心数据会处理常见情况,并且可以与获取的数据控制器一起使用以非常顺利地管理表。 它还可以轻松绑定到您的对象模型,因此您无需执行键查找。

如果您有一个合理数量的静态数据或可编辑值到静态键列表,并且您始终需要加载所有这些值,请继续并加载plist以方便使用。 发布有关您的具体情况的更多信息,我可以更新我的答案。

更新:

我想你可能想要使用Core Data有几个原因。 首先,如果这些对象中的每一个都具有相同的8个键,则您需要使用绑定对象而不是字典来表示每个对象。 其次,核心数据旨在被搜索,分类和过滤。 第三,使用NSFetchedResultsController将它绑定到表(使用右索引)或滚动选择器并不困难。 如果您将NSManagedObject的属性命名为与8个键相同,则使用KVC从JSON加载也非常容易。

你可以使用一个plist,但必须做更多的腿部工作。

与生活中的许多事情一样,这取决于。 我会说,只要数据不是太大而不能保留在内存中,plist可能会很好。 此外,如果数据是静态的,我会倾向于plist。 如果您拥有大量数据或大量相关数据对象并且数据随时间而变化,CoreData会更好。

根据您的编辑。 我同意Core Data是最佳选择。 每当您经常添加/更新/删除/排序/搜索/过滤数据时,我更喜欢Core Data,这也是Apple推荐的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM