2011-12-06 9 views
0

NSManagedObject型のグローバルインスタンスが1つあります。グローバル例えば、それは次のようNSManagedObjectインスタンスのスレッドセーフ?

@property (retain) NSString *value; 

で宣言さ@dynamicの特性であり、私は以下のような簡単な操作

myInstance.value = [NSString stringWithString:newValue]; 

そこで質問をするでしょう、いくつかのスレッドを持っているいくつかのメンバ変数を持っています - 上記の操作を同期させる必要がありますか?または(NSManagedObjectによって処理されているように)既にスレッドセーフなのですか?

+1

申し訳ありませんが、私はそれを修正しました。上記の操作が必要です。代入操作を意味する操作 – tom

答えて

3

ドキュメントによると、これはスレッドセーフではありません。あなたはと読むことができるスレッディングとCore Dataに関する記事があります。基本的には、Core Dataでスレッディングを適切に使用するには、スレッドごとに個別の管理オブジェクトコンテキストが必要であると言われています。 「スレッド包含を使用しない場合」のセクションでは、スレッド間の管理対象オブジェクトの読み取りと変更の両方が望ましくない影響を及ぼす可能性があることに特に注意しています。

関連する問題