在View Controllers之间传递NS Core Data上下文引用

时间:2012-06-10 18:53:04

标签: ios core-data nsmanagedobject

在我的初始View Controller中,我设置了我的NS Core Data文档,并获取了managedOBjectContext。然后我将它传递给下一个视图控制器。它有效,但看起来很难看。每当我有一个新的segue或移动到应用程序的另一个区域时,我需要传递此引用。

在appDelagate中创建此引用会不会更容易,而是让所有视图控制器全局可用?

2 个答案:

答案 0 :(得分:3)

这是一篇关于使数据管理器存在于控制器层次结构之外的好方法的文章,可以在需要的地方使用:http://nachbaur.com/blog/smarter-core-data

该文章解释了该理论,并与实施有关。

答案 1 :(得分:1)

您不必传递核心数据上下文。可以通过执行以下操作在视图控制器中检索它:

NSManagedObjectContext *context = [(MyAppDelegate *)[[UIApplication sharedApplication\ delegate] managedObjectContext];

但实际上我更喜欢在启动控制器时传递上下文。