讨论下对deleteRowsAtIndexPaths的理解

时间:2021-03-22 23:44:00

看到这一行代码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).