私はマジカルレコードを使っています。保存するたびにiCloudに保存されますが、これには数秒かかります。私に方法はありますか:
- ほとんどの場合、iCloud に保存することを選択できるように、iCloud に保存せずに保存しますか?
- バックグラウンド コンテキストで iCloud に保存しますか? これを行うために、save メソッドだけをバックグラウンド スレッドに入れることができます。それはうまくいくでしょうか?
私はマジカルレコードを使っています。保存するたびにiCloudに保存されますが、これには数秒かかります。私に方法はありますか:
Core Data を使用して iCloud に保存することは、オールインまたはオールアウトの取引のいずれかです。アプリの Core Data スタックに複数のストアを含めることができます。ただし、これは、次の方法を使用して、あるストア (おそらく iCloud ストア) から別の (ローカル) ストアにデータを移動できることを意味します。
[NSManagedObjectContext assignObject:<obj> toPersistentStore:<store>]
つまり、最初にコンテキストでオブジェクトを作成し、次にそれ自体をローカル ストアに保存するように指示します。次に、それをクラウドに移動するように読まれたら、この方法を使用して、今度は iCloud に再度保存できます。
iCloud Core Data ストアにデータを保存するためのルールは、ローカル ストアと同じにする必要があります。Core Data ストアをユビキタス コンテナに移動する以外に、iCloud 用の API は他にありません。これは魔法のレコードによって処理されます。つまり、バックグラウンド コンテキスト (プライベート キュー コンテキスト) を使用して保存します。