【问题标题】:Core Data Multiple FetchedResultsController/Views: How do you update all manually?Core Data Multiple FetchedResultsController/Views:如何手动更新?
【发布时间】:2012-04-01 03:17:00
【问题描述】:

我有两个在不同选项卡项中访问的相同 ViewController 类的实例。两者都使用相同的实体,但具有不同的谓词。一个显示所有项目,而另一个显示基于其谓词的子集。

当我从“全部”列表中删除一个对象时会出现问题。它会立即更新,但是当我切换到另一个选项卡时,对象仍然存在,即使在视图中来回切换后也是如此。只有在一段时间后,大约 5 到 10 秒,删除才会反映在另一个视图中。

ViewController 类使用 FetchedResultsController。

任何想法是什么原因以及如何让结果立即出现?

【问题讨论】:

  • 另一个考虑因素:我在使用内置应用程序主从模板时成功,但是当我尝试使用 UIManagedDocument 时,我无法立即使其同步。也许这只是 ManagedDocument 的问题?

标签: core-data nsfetchedresultscontroller


【解决方案1】:

只需将reloadData 放入viewWillAppear。当标签栏的选定索引发生变化时,您也可以捕捉到这一点。

【讨论】:

  • 感谢您的回复,但我已经尝试过了。我的猜测是它与 NSManagedObjectContext 有关,因为它仅在我重新创建 FetchedResultsController 时发生。
【解决方案2】:

显然,没有解决办法。无法手动更新 UIManagedDocument。

这家伙得出了同样的结论:

Core Data managed object does not see related objects until restart Simulator

所以解决方案是使用默认的主从模板并停止使用 UIManagedDocument。希望有一些关于这方面的文档,可以挽救我一天的生命。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多