1

Apple の「コア データ スニペット」ドキュメントを読んでいます (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];

具体的には、<#Get the coordinator#> と <#Get the context#> の部分です。それは正確には何を意味し、実際のアプリケーションでは何をすべきでしょうか?

ありがとう。

4

1 に答える 1

1

私の理解では、管理対象オブジェクトコンテキストは、変更を加えてそのスクラッチパッドをストレージに保持するスクラッチパッドのようなものです。管理対象オブジェクトをストレージに配置するたびに、そのコンテキストが必要になるため、これを実行するときは常にコンテキストを作成してください。私はPSCにあまり精通していませんが、その外観からすると、必要なのは1つだけであり、その1つは複数のコンテキストで使用できます。アプリケーション全体で同じPSCを使用したい場合は、シングルトンに入れるか、何らかの方法で渡すことができるので、毎回新しいPSCを作成する必要はありません。

于 2012-08-20T03:15:52.597 に答える