将managedObjectContext注入初始viewController?

时间:2012-09-18 11:49:18

标签: iphone objective-c core-data uistoryboard uimanageddocument

我在AppDelegate中设置了一个核心数据模型(UIManagedDocument),并对我如何将NSManagedObjectContext的引用注入我的(故事板)初始viewController感到好奇。

我可以使用[viewDidLoad直接在viewControllers [[UIApplication sharedApplication] delegate] sampleDatabase] managedObjectContext]中访问它,然后使用prepareForSegue将其传递到其他控制器。

我只是想知道是否有一个初始segue(或机制)允许我将managedObjectContext传递(或注入)到初始viewController而不必在控制器内使用appDelegates共享实例访问它?

2 个答案:

答案 0 :(得分:4)

使用情节提要时,在调用rootViewController之前,初始视图控制器被设置为代理的application:didFinishLaunchingWithOptions:属性。

假设您的核心数据结构已设置,那么您应该能够在该引用上使用强制转换来设置属性。

答案 1 :(得分:0)

通常,您只需在视图控制器上拥有一个NSManagedObjectContext属性,并在appDelegate中初始化viewController后立即设置该属性。 myViewController.managedObjectContext = self.managedObjectContext