0

私はマジカルレコードを使っています。保存するたびにiCloudに保存されますが、これには数秒かかります。私に方法はありますか:

  1. ほとんどの場合、iCloud に保存することを選択できるように、iCloud に保存せずに保存しますか?
  2. バックグラウンド コンテキストで iCloud に保存しますか? これを行うために、save メソッドだけをバックグラウンド スレッドに入れることができます。それはうまくいくでしょうか?
4

1 に答える 1

0

Core Data を使用して iCloud に保存することは、オールインまたはオールアウトの取引のいずれかです。アプリの Core Data スタックに複数のストアを含めることができます。ただし、これは、次の方法を使用して、あるストア (おそらく iCloud ストア) から別の (ローカル) ストアにデータを移動できることを意味します。

[NSManagedObjectContext assignObject:<obj> toPersistentStore:<store>]

つまり、最初にコンテキストでオブジェクトを作成し、次にそれ自体をローカル ストアに保存するように指示します。次に、それをクラウドに移動するように読まれたら、この方法を使用して、今度は iCloud に再度保存できます。

iCloud Core Data ストアにデータを保存するためのルールは、ローカル ストアと同じにする必要があります。Core Data ストアをユビキタス コンテナに移動する以外に、iCloud 用の API は他にありません。これは魔法のレコードによって処理されます。つまり、バックグラウンド コンテキスト (プライベート キュー コンテキスト) を使用して保存します。

于 2012-08-03T06:15:03.197 に答える