FetchedResultsController から Core Data オブジェクトの配列を取得する UITableView があります。標準の削除ボタンを使用してテーブルビューからオブジェクトを削除し、アイテムが削除されたときに通常行うようにテーブルビューセルをフェードアウトさせたいのですが、私の場合、実際にオブジェクトを削除するのではなく、削除されました。例/私は削除されたという属性を持っているので、それはまだ存在しますが、削除されたように見えます。
obj.deleted = [NSNumber numberWithBool:YES];
これを行う方法はありますか?標準的な削除と同じように動作するように見えますか?
電話なしではこれを行うことができないようです[self.tableView reloadData]
ので、標準の削除に伴う素晴らしいアニメーションを失っています。
tableView フェッチ結果コントローラーにはフィルターがあるため、tableView のデータはフィルター処理されます。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"deleted == %@", [NSNumber numberWithBool:NO];
必要なコードがここにあると思われます。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
//
}
}