私はいくつかの株価情報を持つアプリを持っており、それをCoreDataに保存しています。私は2つのエンティティStock(name)とDailyStockData(date、number)を持っています。私は各エンティティの2年間の情報を保存しています。その後、ユーザーはTableView内のいくつかのストック名を削除することができます。CoreDataからの削除はどのように高速ですか?
私の- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
この在庫とDailyStockDataカスケードを削除し、コンテキストを保存します。コードを保存するマイ
は問題がある。この
// Save the context.
NSError *error = nil;
if (![context save:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
次のようになります。速いユーザー削除銘柄 - 私のアプリがクラッシュ。デバイスが終了していないときに、前回のトランザクションの削除を保存してコールを再度保存するときに、その理由が「中止」コマンドであることを理解しています。
ここに2つの質問があります^) 1.このクラッシュを防ぐ方法はありますか? 2.コンテキスト保存エラーを処理するベストプラクティスは何ですか?私はちょうど打ち切るよりも何度も何度もそれを保存しようとすることができるかもしれません。
最も簡単な解決策は、コンテキストを「非常に」保存するための再設計アプリケーションです。たとえば、アプリケーションがビューを変更したときなど、すべての可能性を知りたいときなどです。
実際のエラーテキストを投稿すると役立ちます。 –
書籍の例は、開発者に失敗を警告するだけでよいので、中断します。あなたはリリースアプリで決して中止することはありません。代わりに、エラーをトラップし、ログに記録し、分析し、適切な処置をとる必要があります。 – TechZen