看到这一行代码UITableView 的方法 deleteRowsAtIndexPaths
[ABUITableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
UITableView 的这个方法,deleteRowsAtIndexPaths,从方法名上面理解,我认为参数应该指定一个位置,例如1,2,8,,但是实际却是指定一个元素,:[NSArray arrayWithObject:indexPath] ,这个方法名会误导别人, 为什么不改名为: deleteRowByObject,然后后面带一个对象,我觉得苹果公司如果真要坚持用这个名字,就得这么用:
[ABUITableView deleteRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationFade];
2 个解决方案
#1
呵呵。那个方法接收的是个数组,也就是说同一时刻可以删除多行。 indexPath中封装了当前cell的row与section .
#2
IndexPath 是二维数组的结构,确实无法简单表达,你也不可能是写一个 for 循环来删除一批元素吧,那样又不科学,又不反复调用 TableView Delegate 的 Datasource 方法(s).
#1
呵呵。那个方法接收的是个数组,也就是说同一时刻可以删除多行。 indexPath中封装了当前cell的row与section .
#2
IndexPath 是二维数组的结构,确实无法简单表达,你也不可能是写一个 for 循环来删除一批元素吧,那样又不科学,又不反复调用 TableView Delegate 的 Datasource 方法(s).