我可以从fetchedResultsController中删除一个对象而不从db中删除该对象吗?

时间:2011-11-08 05:03:27

标签: iphone database uitableview core-data nsfetchedresultscontroller

我一直在尝试从我正在使用的tableView中删除一个对象而不从db中删除该对象,我无法弄清楚如何去做。

我尝试在fetchedResultsController上设置谓词,以过滤BOOL设置为特定值的对象。然后,当我更改该值时,我希望我可以让该对象保留在db中,但是因为谓词而超出了fetchedResultsController,但是唉,这不起作用。

如何从tableView的dataSource(fetchedResultsController)中删除对象而不将其从核心数据db中完全删除?

请帮忙!我一直在抨击这个问题太久了

1 个答案:

答案 0 :(得分:3)

当我需要清除提取的结果时,我总是推出自己的表视图数据源。当您想要显示数据库中的所有内容时,NSFetchedResultsController个对象非常棒,但是当您想要动态清除某些数据时,这些对象就不那么好了。我获取数据,然后遍历结果数组,寻找我想要保留的数据。好的对象被添加到一个新的数组,这将成为我的表视图数据源的基础。

我实现这一点的时候,数据操作发生在一个模型对象中,该对象将数组移交给实现UITableViewController协议方法的UITabelViewDataSource子类。我想你可以把它作为NSFetchedResultsController的子类来实现,但我从来没有尝试过这种方法。