我有一个大型核心数据数据集,我想添加搜索支持。目前我正在使用获取的结果控制器来显示uitableview中的数据。我打算使用UISearchDisplayController。现在我有两个选择:
哪种方法更合适/推荐(特别是对于搜索类型)?是否有任何书籍或教程可以解决如何实施建议的解决方案?
答案 0 :(得分:2)
在几个项目中,我使用了“new fetched results controller”选项,因为我过滤的数据可能会占用旧款iPhone中的所有内存。 FRC可以处理低内存问题。 This stackoverflow answer might be helpful to you if you go ith this option
您的数据是否足够小以适应最低公分母(第一代iPhone)的可用内存?如果是这样,那么只需使用NSArray在内存中进行过滤。性能方面,这比使用FRC要快。
答案 1 :(得分:1)
是否一直在写入数据?我有一组1,200条记录可以通过“包含”搜索进行搜索。我在app启动时所做的是有一个对象,其中包含基于coredata商店的所有数据集。如果数据在应用程序使用期间更新 - 它会重新构建集。
然后当我到达搜索表视图时,我搜索预先加载的数据。每次执行一次获取都会导致过多的延迟 - 即使编写好的谓词和获取结果控制器也是如此。我发现手动操作要快得多,因为我可以创建数据子集以加快搜索速度。
希望这有助于您的决定。
干杯,
迈克尔