我对NSManagedObjectContext依赖注入做错了什么?

时间:2010-09-15 06:23:52

标签: cocoa-touch core-data dependency-injection nsfetchedresultscontroller nsmanagedobjectcontext

我正在尝试使用Marcus Zarra建议的NSManagedObjectContext依赖注入 - 我正在创建一个M.O.C.在我的AppDelegate中,并将其作为保留属性传递给我的每个视图控制器。

通常这看起来效果很好,但是在通过NSFetchedResultsController呈现数据的模态表视图控制器中,我只看到启动应用程序时数据库中的内容。也就是说,如果用户在运行时添加数据,它会被正确添加到数据库中,但是在打开模态ViewController并创建NSFetchedResultsController时(使用注入的NSManagedObjectContext),它不会出现。但是,如果我关闭应用程序并重新启动,然后打开模态视图控制器,我确实看到上一个会话中添加的数据。

我是否必须刷新M.O.C.在创建NSFetchedResultsController之前的某种方式?我完全确定正在创建模态视图控制器和NSFetchedResultsController,并且在输入新用户数据之后正在执行提取。

1 个答案:

答案 0 :(得分:0)

首先,您应该在app delegate和视图控制器中记录moc,以确认两个位置的moc具有相同的地址,因此是同一个对象。

如果是,那么很可能你的FRC缓存有问题。将缓存设置为nil和/或刷新缓存,看看是否能解决它。