在RootViewController我对核心数据存储(?)执行一个提取请求,它返回一个NSSet,比方说,食谱。当用户在rootviewcontroller中选择配方时,我执行pushViewController并将其中一个配方推送到childcontroller。NSFetchedResultsController和childController
在childController中,用户可以刷新“配方”,以便他可以更新配料。当用户选择“刷新”时,我连接到interwebs以接收新数据。这个新数据我puth在self.recipe.ingredients。
这一切都很好。但后来我想重新加载chilController视图。所有刷新的东西都是在后台完成的,所以我想在核心数据内容完成时发出一个信号。
Hello NSFetchedResultsController!但要使用NSFetchedResultsController,你需要一个NSFetchRequest。而且NSFetchRequest在我的rootViewController中实例化。
因此,当我在我的rootViewController中创建一个controllerDidChangeContent方法时,我发现它被触发。但现在是一个问题:我如何更新我的childViewController的tableview?
我想到了打电话我rootViewControllers' controllerDidChangeContent方法,这个方法: [self.childController controllerDidChangeContent:控制器] 所以刚好路过的烧制方法
或者实例化childController的时候,我也可以通过对fetchRequest到childController并在childController实例中实例化一个新的NSFetchedResultsController。
这两个最好的是什么?或者我还没有想过其他可能性?
提前致谢!
谢谢dnorcott。我将在childController中实例化一个新的nsfetchrequest&nsfetchedresultscontroler对象。 – Leon 2010-11-13 08:29:57