2016-06-21 16 views
1

私は、メインスレッド(NSMainQueueConcurrencyType)に両方のコンテキストを置くと、1つのコンテキストから別のコンテキストにコアデータを簡単にコピーできる2つのデータベースファイルがあります。
しかし、各データベースファイルのコンテキストがNSPrivateQueueConcurrencyTypeのバックグラウンドスレッドで非同期的に発生させたい場合はどうすればよいですか?覚えておいてください:どちらのコンテキストにも、異なる永続ストアコーディネータがあります。
(PS:NSConfinementConcurrencyTypeはiOSの9で廃止されているので閉じ込め型は私のために問題外であること。)(それらが異なる場合は二つのモデルをマージ)あなたは、単一のコンテキストとPSCを使用することができますバックグラウンドスレッドで1つのデータベースから別のデータベースへのコアデータコピー

+0

店内のすべてをコピーしているのですか、またはサブセットのみをコピーしていますか? – pbasdf

+0

@pbasdf:サブセットのみです。 – Jan

+1

単一のコンテキストとPSC(異なる場合は2つのモデルをマージ)を使用し、2つのストアを追加して(必要に応じてコンフィグレーションを使用して)、 'affectedStores'を使って1つをフェッチし、' allocateObject:toPersistentStore: 'をもう片方。ちょうどアイデア。自分で試したことはありません。 – pbasdf

答えて

1

。 2つのストアを追加し(必要に応じて設定を使用)、affectedStoresを使用して1つをフェッチし、allocateObject:toPersistentStore:を使用してもう1つを挿入します。 1つのストアが読み取り専用で開かれている場合は、allocateObject:を使用する必要はなく、Core-Dataは使用する正しいストアを推測します。

関連する問題