Objective c 如何阻止核心数据应用程序自动加载managedObjectContext?

Objective c 如何阻止核心数据应用程序自动加载managedObjectContext?,objective-c,core-data,nsmanagedobjectcontext,Objective C,Core Data,Nsmanagedobjectcontext,我正在构建一个核心数据应用程序,在启动时检查保存的用户登录,然后设置模型、存储、协调器和上下文。我唯一的问题是,只要用户单击界面中的任何视图,应用程序就会尝试获取managedObjectContext,导致异常,因为我还没有创建存储 有没有办法阻止它这样做 干杯。如果您使用的是Apple提供的Coredata boiler plate stuff,您会注意到managedObjectContext对象在访问其属性时被延迟加载 只需告诉视图控制器通过其属性(即self.managedObject

我正在构建一个核心数据应用程序,在启动时检查保存的用户登录,然后设置模型、存储、协调器和上下文。我唯一的问题是,只要用户单击界面中的任何视图,应用程序就会尝试获取managedObjectContext,导致异常,因为我还没有创建存储

有没有办法阻止它这样做


干杯。

如果您使用的是Apple提供的Coredata boiler plate stuff,您会注意到managedObjectContext对象在访问其属性时被延迟加载

只需告诉视图控制器通过其属性(即self.managedObjectContext)访问上下文,而不是直接访问变量,就可以适当地创建上下文、对象模型和持久存储协调器


PS:这只是一个猜测,因为您没有在此处发布任何相关代码。

为什么您要显示依赖于托管对象上下文的视图,而没有创建它或安排在access上创建它

通常的模式是让托管对象上下文getter如下所示:

- (NSManagedObjectContext *)managedObjectContext {
    if (!_managedObjectContext) {
        // create context, and store it in _managedObjectContext
    }
    return _managedObjectContext;
}

(在此代码中,
\u managedObjectContext
是类中保存上下文的ivar)。这样,在需要时自动创建上下文。苹果的标准示例代码正是为您做这件事。

我猜不使用
self