iOS:如何通过按下按钮向我的FetchedResultsController添加/删除NSPredicate?

时间:2012-08-19 14:39:02

标签: ios uitableview toggle nspredicate

我有一个按钮,我目前已将其设置为切换按钮。它目前只在按下时更改它的文本。我想让它过滤掉我的uitableview中的条目。我猜我会通过在我的fetchedresultscontroller中添加NSPredicate来做到这一点,但我不确定如何做到这一点。如果这不是执行此任务的正确方法,任何人都知道我可以如何做到这一点或发送给我正确的方向?谢谢!

1 个答案:

答案 0 :(得分:1)

单击按钮,您将需要释放fetchedresultscontroller的实例(如果在内存中),因为您需要在其中重新创建带有谓词的FetchRequest。

之后,您可以调用execute api。因为,fetchedresultscontroller将需要一个新的谓词。

Preferrable是使用来自Core Data的1级fetchedResultsController api调用。因为与过滤对象w.r.t已经在内存中加载的对象相比,从DB获取是昂贵的。

在您的情况下,使用fetchedresultscontroller获取所有必需的api,并且根据切换,只需对内存中的数组/记录使用谓词。这将提高性能,其次,由于记录将是核心数据管理对象,因此如果它们不再使用,它​​们可能会出现故障。