如何在不更改获取的对象的情况下触发NSFetchedResultsController中的重新加载?

时间:2010-08-10 12:17:22

标签: iphone cocoa-touch core-data nsfetchedresultscontroller nsmanagedobjectcontext

在我的iPhone应用程序中,我有一个NSFetchedResultsController在UITableView中显示User对象。用户对象具有0个Log对象。 Log对象的摘要与UITableView中的User对象一起显示。

我的应用程序使用标签栏,因此日志选项卡中的用户输入要求触发用户选项卡的NSFetchedResultsController重新加载。

到目前为止,我通过写入User对象来实现:

log.user = nil;
log.user = [User current]; // Same as before. Just triggering a reload.
NSError *error = nil;
[myManagedObjectContext save:&error];

这很好用,但看起来有点像黑客。

有更好的方法吗?就像指定Log对象中的更改也应该传播到User对象一样?

1 个答案:

答案 0 :(得分:2)

[myFetchedResultsController performFetch:&error];

但你为什么要这样做呢?它只应在有新数据提取时重新加载。如果有新数据,则保存NSManagedObjectContext是正确的操作。

您的基本目标是什么?