2017-09-26 7 views
0

私はスレッド間で管理オブジェクトを渡すべきではないと知っていますが、登録されているMOCから管理対象オブジェクトに直接アクセスするのはうまくいきません。例えばMOCの `performBlock`コールからNSManagedObjectを使用する

NSManagedObjectContext *managedObjectContext = aManagedObject.managedObjectContext; 

[managedObjectContext performBlock:^{ 
    aManagedObject.someProperty = "SomeValue"; 
    [aManagedObject.managedObjectContext save:nil]; 
}]; 

それとも私も、この例ではobjectIDを使用すべきですか?

答えて

0

ブロックはコンテキストのキューで実行されるため、オブジェクトからコンテキストを取得しているためです。あなたが持っているコードは、正しいコンテキストでオブジェクトを変更しているので、問題はありません。

関連する問題