CoreData操作をディスパッチするのにNSOperationQueue
を使用します。ただし、操作キューの動作が常に同じではない(スレッドプールを使用するiOS 4.0/OS 10.6ではlibdispatch
を使用してディスパッチ)、キューでは常に同じスレッドを使用するとは限りません(NSManagedObjectContext
と同じ)。NSOperationQueue指定されたスレッド
NSOperationQueue
を強制的に1つのスレッドで実行できますか? それのために私自身の単純なキューイングの仕組みを作らなければなりませんか?
あなたは知っている必要はありませんあなたの操作が実行されているスレッド。コンテキスト( ' - [context lock]')をロックして、ロックを解除するだけで済みます。ロックされたブロックからCore Dataプロパティにアクセスしないように注意してください。コンテキスト同期の必要を避けるために、最大同時操作を1に設定することを忘れないでください。 – cdelacroix