【发布时间】:2011-07-05 14:29:04
【问题描述】:
嗯,我正在阅读 Apple 网站上的 iOS 核心数据教程,但我不太明白。
我如何实际获取NSManagedObjectContext 以便我可以使用它来访问我的数据库?
【问题讨论】:
标签: ios cocoa-touch core-data nsmanagedobjectcontext
嗯,我正在阅读 Apple 网站上的 iOS 核心数据教程,但我不太明白。
我如何实际获取NSManagedObjectContext 以便我可以使用它来访问我的数据库?
【问题讨论】:
标签: ios cocoa-touch core-data nsmanagedobjectcontext
如果您需要创建一个新的上下文,只需使用 alloc/init 然后添加一个持久存储协调器。这在Creating a New Managed Object Context 中有描述。如果您已经在应用程序委托或根视图控制器中创建了一个上下文,那么您只需在创建控制器时将其传递给您的视图控制器。例如,应用程序委托通常会创建根视图控制器。应用委托可以创建托管对象上下文,然后在控制器中设置上下文。
【讨论】:
+alloc,然后调用-initWithManagedObjectModel:。你如何获得模型?有几种方法,但+mergedModelFromBundles: 是您入门的好选择。提示:如果您创建一个新项目并选中 Xcode 中的“使用核心数据”框,您会发现一些很好的入门代码可以在应用程序委托中设置所有这些内容。
managedObjectModel_ = [NSManagedObjectModel mergedModelFromBundles:[NSArray arrayWithObject:[NSBundle mainBundle]]]; persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel_]; managedObjectContext_ = [[NSManagedObjectContext alloc] init]; [managedObjectContext_ setPersistentStoreCoordinator:persistentStoreCoordinator_];