2

私は現在、コアデータを使用し、うまくいけばiCloudを使用するアプリを開発しています。問題があります - 私のアプリには、すべてが失敗する 1 つのプロファイル エンティティがあります。

これをiCloudと同期して、iPadなどの他のデバイスでも機能するようにしたいと思います。ただし、問題があり、以下のシナリオで説明されています。

シナリオ 1

ユーザーは自分の iPhone を自分のアプリに使用しています。プロファイルを作成し、しばらく使用します。その後、彼らは iPad を手に入れ、ネットワークなしで初めて私のアプリを使用します - アプリは彼らにプロファイルを作成するように促します。(ユーザーは、すでにこれを行っているとは考えずにそうします)。翌日、ネットワークを使用してアプリを開きます。これは、同じ人のプロファイル エンティティで 2 つのオブジェクトになりました。

このシナリオを回避するにはどうすればよいですか? 以下にいくつかのアイデアを示しますが、どこで続行するかちょっと困惑しています

  • オプション 1 は、iCloud が有効になっていることを確認し、以前にこのアプリを使用したことがあるかどうかを確認することです。
  • オプション 2 プロファイル オブジェクトを監視し、2 つをマージする (危険な動き)
  • オプション 3 iCloud を使用しない - (本当にやりたくない)

ヒントやアイデアは素晴らしいでしょう。

ダン

4

2 に答える 2

0

あなたは本当に#2を処理できるようになりたいです。あなたが概説したシナリオ以外にも、2つのデバイスが同期しなくなる可能性のある他のあらゆる種類の方法があります。

とはいえ、競合する2セットのデータを検出したときに、どちらを保持するかをユーザーに尋ねることができます。しかし、それはかなりユーザーに敵対的です-人々は一般に、新しく作成されたデータの束をゴミ箱に捨てることを含む選択をすることを好みません。

于 2012-12-16T19:12:25.657 に答える
0

コア データに使用できる削除メソッドを使用して、プロファイル エンティティに重複レコードを挿入することを回避できます。プロファイル エンティティにデータを挿入する前に、delete を呼び出します。これにより、重複するエントリが削除され、新しいエントリが挿入されます。

于 2012-12-14T11:25:05.690 に答える