私はNSManagedObjects
のコンテナとしてNSFetchedResultsController
を使用してにCoreData
のデータを表示しています。行を削除するコードはうまくいきますが、私の実装ではエレガントではありません。より良い方法がありますか?UITableView NSFetchedResultsControllerの考え方
以下のコードは削除イベントを示しています
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[myContext deleteObject:[fetchedResultsController objectAtIndexPath:indexPath]];
if (![myContext save:&error]) {
// Error handling
}
fetchedResultsController = nil;
if (![[self getFetchedResultController] performFetch:&error]) {
// Error handling
}
[tableView reloadData];
}
}
は私がnil
にfetchedResultsController
を設定し、別の新しい内容を更新するためにフェッチを行います。
私の心配は、様々なフォーラムで、コンテキストの変更によって自動的にfetchedResultsControllerの変更が発生し、おそらくこの2回目のフェッチが不要であることを示唆していることです。私はこの時点でセクションを実装していません。
もう1つ懸念されるのは、コードがアニメーションなしで行を消してしまうことだけです。
滑らかなアニメーションを導入できますか?
また、このフォーラムでは、電子メールで通知を受け取ることができますか? – user266429