0

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

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

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

4

1 回答 1

0

首先,您应该在应用程序委托和视图控制器中记录 moc,以确认两个地方的 moc 具有相同的地址,因此是相同的对象。

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

于 2010-09-15T15:35:37.657 回答