我在AppDelegate中设置了一个核心数据模型(UIManagedDocument
),并对我如何将NSManagedObjectContext
的引用注入我的(故事板)初始viewController感到好奇。
我可以使用[viewDidLoad
直接在viewControllers [[UIApplication sharedApplication] delegate] sampleDatabase] managedObjectContext]
中访问它,然后使用prepareForSegue
将其传递到其他控制器。
我只是想知道是否有一个初始segue(或机制)允许我将managedObjectContext传递(或注入)到初始viewController而不必在控制器内使用appDelegates共享实例访问它?
答案 0 :(得分:4)
使用情节提要时,在调用rootViewController
之前,初始视图控制器被设置为代理的application:didFinishLaunchingWithOptions:
属性。
假设您的核心数据结构已设置,那么您应该能够在该引用上使用强制转换来设置属性。
答案 1 :(得分:0)
通常,您只需在视图控制器上拥有一个NSManagedObjectContext属性,并在appDelegate中初始化viewController后立即设置该属性。 myViewController.managedObjectContext = self.managedObjectContext