0

私はiPhoneアプリを開発しており、コアデータを使用してDB imを開発しています。コアデータの保存中は正常に動作します。

しかし、たまに保存に失敗します。これにより、アプリでレコードが重複します。私は2つのテーブルを持っています

  1. 親テーブル

  2. 子テーブル

子テーブルが失敗し、ユーザーが再度保存しようとすると、複数の親レコードが作成されます。私の質問は次のとおりです。

  1. コアデータが失敗する理由。めったにないので、失敗する理由を見つけることができません。その理由は何ですか?
  2. 子テーブルの保存に失敗した場合でも、親テーブルのデータをロールバックする方法はありますか?

前もって感謝します :)

4

1 に答える 1

0

1.コアデータが失敗する理由。まれなので、失敗する理由を見つけることができません。その理由は何ですか? コードを書いていないので検出が非常に難しいため、コア データにデータを保存するときにエラーをログに記録すると、問題の正確な原因を知ることができます。

NSError *error;
if (![managedObjectContext save:&error]) {
    NSLog(@"Failed to save - error: %@", [error localizedDescription]);
}

2.子テーブルの保存に失敗した場合でも、親テーブルのデータをロールバックする方法はありますか? いいえ、ロールバックはできないと思います。そのような場合、次の id に対してデータが既に挿入されているかどうかを常に確認します。そうでない場合は、そのデータを入力し、その逆も同様です。

于 2013-08-17T04:56:53.757 に答える