Iphone 如何从不同类别的核心数据中获取价值

Iphone 如何从不同类别的核心数据中获取价值,iphone,objective-c,ios,core-data,Iphone,Objective C,Ios,Core Data,最近我开始学习CoreData。 了解了如何创建数据库、创建表(事件)和添加数据。 明白了。现在问题来了。 在我的项目中,有几个类。 所有数据库活动(创建/填充),我在第一节课上做(myProject.h/myProject.m) 现在,我想在另一个类(myProjectOtherClass.m)中根据请求获取数据 我该怎么做? 我知道如何在类myProject.m中执行此操作,但如何在myProjectOtherClass.m中执行此操作?我假设您在myProject.h/myProject.

最近我开始学习CoreData。 了解了如何创建数据库、创建表(事件)和添加数据。 明白了。现在问题来了。 在我的项目中,有几个类。 所有数据库活动(创建/填充),我在第一节课上做(myProject.h/myProject.m) 现在,我想在另一个类(myProjectOtherClass.m)中根据请求获取数据 我该怎么做?
我知道如何在类myProject.m中执行此操作,但如何在myProjectOtherClass.m中执行此操作?

我假设您在myProject.h/myProject.m中导入了实体(表名)以查看这些数据项的属性。您还应该在要使用它们的其他类中导入所需的数据实体,如插入、删除等

您需要为获取结果或插入新实体创建
NSManagedObjectContext
的新实例,为此,您需要持久性存储变量(
NSPersistentStoreCoordinator
)的属性。它会显示存储所在的位置。最简单的情况是,如果您使用Xcode的CoreData模板创建了项目,则它们都驻留在AppDelegate中,以便您可以使用属性使其在AppDelegate之外可见

更新:

或者,您也可以在AppDelegate中的单个MOC上放置一个属性,并将其用于每个核心数据操作

难道您不能从另一个类调用您的方法吗?例如,导入我的项目。然后从其他文件调用[myProject myClassMethod]?您不希望每个类中都有不同的托管对象上下文。它们都应该使用相同的上下文,否则您将永远合并更改。您唯一需要新上下文的时候是多线程操作。您的合并是正确的,但我个人使用单独的上下文来获取和导入大型数据集。您无论如何都有ManagedObject id,并且可以使用它从其他托管对象上下文检索它?