1. 程式人生 > >iOS 刪除UITableView 行的兩種方法

iOS 刪除UITableView 行的兩種方法

大家都知道,刪除行時table會呼叫其Data Source方法:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

在該方法中,可以有兩種實現:

方法1.修改資料來源,然後再[mytable reload],如:
[arr removeObjectAtIndex:indexPath.row];
[mytable reload];

方法2.
呼叫UITableView的成員方法
- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths
 withRowAnimation:(UITableViewRowAnimation)animation
如:
[arr removeObjectAtIndex:indexPath.row]; 
[mytable deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPaths withRowANimation:UITableViewRowAnimationFade]];

有一點要注意的是:在呼叫 - (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)
animation前,要先修改資料來源,否則程式會出錯