3

コアデータ初心者です。で初期化して使用するために、のデフォルトNSManagedObjectContextを変更しようとしています。NSPersistentDocumentNSMainQueueConcurrencyType

現在、私はこのようにやってい-windowControllerDidLoadNib:ます:

- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
    [super windowControllerDidLoadNib:aController];
    NSManagedObjectContext *newMOC = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
    [newMOC setPersistentStoreCoordinator:[self.managedObjectContext persistentStoreCoordinator]];
    [self setManagedObjectContext:newMOC];
}

これは一見うまくいきます。-windowControllerDidLoadNib:しかし、MOCの初期化が最善の方法なのか、それとも別の場所に配置したり、別の方法で初期化したりする必要があるのか​​ 疑問に思っています。

助けてくれてありがとう。

4

2 に答える 2

0

推奨されるパターンは、マネージド オブジェクト コンテキストを子ビュー コントローラーに渡す "バトンを渡す" アプローチです。コントローラーに管理対象オブジェクトのコンテキスト属性を与え、それらを提示するときにそれを渡すだけです。

于 2014-03-23T22:37:22.157 に答える