は、私がデータを閲覧するために使用される主なUIを持っているし、私は/挿入/編集データをダウンロードしているバックグラウンドスレッドを持っています。ココアコアデータ - 私は、デフォルトのXcodeのテンプレートに基づいてコアデータアプリケーションを持つバックグラウンドスレッド
アプリケーションの起動時にアプリケーションが読み込んだ2つのNSManagedObjectContextを作成し、バックグラウンドスレッドのもう一方のスレッドに書き込みを行い、書き込みが完了したらperformSelectorOnMainThreadを呼び出して2つのNSManagedObjectContextオブジェクトを同期させます。
私はココアにかなり新しいですし、誰もが、これは動作するはずですし、私が正しく動作するように同期を得ることができないとして、誰もがこのことについて例や議論の知っていることを確認することができればと思いました。
私はデータをダウンロードする必要があるとして、応答のためのおかげで、私はそれは、ユーザーが既に格納されたデータを閲覧している全てながら、状況に応じて、より多くのデータをダウンロードし、コアデータにデータを挿入する、プロセスを手動でスレッドを作成しています。私はappleのdocを読んだことがありますが、2人の永続的な店舗コーディネーターがいらっしゃいましたので、もう一度お試しください。 – Craig
私は、スレッドごとに別々の管理対象オブジェクトコンテキストを作成し、単一の永続的ストアコーディネータを共有します。しかし、バックグラウンドスレッドの実行が完了すると、メイン管理対象オブジェクトのデータをリロードまたはマージすることはできません。私はそれを見つけることができないようだが、メインスレッドでリロードするように指示する簡単な方法があります。 withObject:waitUntilDone: – Craig
あなたは-performSelectorOnMainThreadと呼ばれるNSObjectのメソッドを使用して、メインスレッド上のメソッドを呼び出すことができます繰り返しますが、私はNSURLConnectionの非同期メソッドを使用してではなく、同期独自のスレッド上でそれをやってお勧めします。 –