私は、次の Core Data エラー ( 133000
)が発生した多くのユーザーの 1 人です。
Object's persistent store is not reachable from this NSManagedObjectContext's coordinator
SO のいたるところで見たように、これは Core Data のスレッド制限によるものです。
ただし、すべての正しいスレッド制限に準拠していますが、このエラーはまだ発生しています。
以下のコードを使用して NSManagedObject を作成し、メイン スレッドで関数を実行します。
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(commitPlayer:)
object:message];
[[NSOperationQueue mainQueue] addOperation:operation];
[operation release];
この関数はオブジェクトを作成し、完全に満足しています。
次に、オブジェクトを取得しようとする[objectContext existingObjectWithID:objectID error:&error]
と、前述のエラーで nil が返されます。
念のため、@synchonized ミューテックス ロック ブロックでオブジェクト フェッチをラップしましたが、まだそのオブジェクトのフェッチに失敗しています。
手動でコンテキストを保存するとこれが修正されるようですが、この時点でDBを保存するべきではないため、オブジェクトが保存されているかどうかに関係なく、オブジェクトをフェッチしたいと考えています。