複数のスレッドで1つのMOCを使用すると、すべての結果に苦しんだ - メインスレッドでMOCが作成され、別のスレッド。 コードはグローバルシングルトンを使用して同期(@同期)していますが、アプリがクラッシュします。 スレッドごとに別々のMOCを使用すると問題はなくなりますが、NSManagedObjectsをスレッド間で共有することも悪いアプローチと考えられています。コアデータ - 複数のスレッド間でNSManagedObjectsを共有する
私の使用例は次のとおりです。 1)サーバーからXMLをロードして解析し、解析中に新しいNSManagedObjectをデータベースに挿入します。これはすべて別のスレッドで発生します。 2)メインスレッドから、ユーザーはデータベースからデータを読み取るUIと対話します。
どちらのスレッドでも、NSManagedObjectsを使用します。これを修正するように私にどのように提案しますか?私はすでに何度も失敗しました。
ほとんどの場合、エラーが発生してコレクションが変更されている間に、コードが同期されている間にコレクションが変更されていて、反復処理中にコレクションが変更されたり、反復して、私は完了したら保存します。