需要一些帮助来理解Apple关于Core Data的文档

时间:2012-08-20 03:09:41

标签: objective-c cocoa-touch cocoa core-data

我正在阅读Apple的“Core Data Snippets”文档(https://developer.apple.com/library/mac/#documentation/DataManagement/Conceptual/CoreDataSnippets/Articles/stack.html#//apple_ref/doc/ uid / TP40008283-SW1),我对这部分感到有些困惑。

To create a new managed object context, you need a persistent store coordinator.

NSPersistentStoreCoordinator *psc = <#Get the coordinator#>;
NSManagedObjectContext *newContext = [[NSManagedObjectContext alloc] init];
[newContext setPersistentStoreCoordinator:psc];

If you already have a reference to an existing context, you can ask it for its persistent 
store coordinator. This way you can be sure that the new context is using the same 
coordinator as the existing one (assuming this is your intent):

NSManagedObjectContext *context = <#Get the context#>;
NSPersistentStoreCoordinator *psc = [context persistentStoreCoordinator];
NSManagedObjectContext *newContext = [[NSManagedObjectContext alloc] init];
[newContext setPersistentStoreCoordinator:psc];

最具体的是&##获取协调员#&gt;和&lt; #Get上下文#&gt;部分。究竟是什么意思以及在实际应用中应该做什么?

感谢。

1 个答案:

答案 0 :(得分:1)

根据我的理解,托管对象上下文几乎就像是一个用来进行更改的暂存器,然后将该暂存器保存到存储中。几乎每次你想要将一个托管对象放入存储器时,你需要一个上下文,所以在你准备这样做的时候总是要做一个。我对PSC并不是很熟悉,但从它的外观来看,你只需要一个,而且它可以被多个上下文使用。如果你想在整个应用程序中使用相同的PSC,那么我想你可以把它放在一个单独的或以某种方式传递它,所以你不必每次都做一个新的。