核心数据执行“子查询”

时间:2010-02-26 01:09:38

标签: iphone database sqlite core-data

我想用fetchedresultscontroller执行某种子查询。 我有一组带有“已查看”或“未查看”标志的项目。是否可以在这些项目之间切换......当然我可以做一个完整的重新获取,但这需要一些时间。 有没有更好的方法来做到这一点?

非常感谢!

1 个答案:

答案 0 :(得分:3)

一个选项是拥有两个版本的NSFetchedResultsController,一个用于查看,另一个用于未查看。诀窍是确保他们使用不同的缓存文件。一旦缓存的初始填充完成,这将允许切换几乎是瞬时的。

您甚至可以对其进行设置,以便一次只有其中一个在内存中以保持低开销。诀窍是确保缓存名称和获取请求是一致的,这样就不会触发缓存重置。