我想知道以下在Objective-C中的工作方式
在我的头文件中,我有以下内容是从其他视图控制器初始化的
@interface UserLookup : UIViewController {
NSManagedObjectContext *referringObject;
}
并且在我的实现文件中,我必须将此
NSManagedObjectContext
传递给2个子视图控制器,然后首先调用哪个视图控制器会有所不同...,并且在任何一个子控制器中NSManagedObjectContext
都会更改吗?问候
最佳答案
您实际上并不需要将其传递给需要Core Data访问权限的每个视图控制器-只需使用
NSManagedObjectContext* moc = [(MyAppDelegateClass *)[[UIApplication sharedApplication] delegate] managedObjectContext];
managedObjectContext
必须是您的应用程序委托的可访问ivar。它在概念上也是如此。应用程序委托拥有一个NSManagedObjectContext(在大多数不复杂的应用程序中,以为您可以有多个)。您永远不会保留或释放它(除非是在应用程序委托中创建的,在第一次访问时(如果您使用的是Apple的模板代码)以及在应用程序委托的
dealloc
中发布的时间)。