最近做项目遇到一个小坑,在这里分享给大家。
UITableView的datasource 经常有添加删除,我的坑就是
1、展示UITableView正常,其数据为dataArr;
2、自定义了一个全选删除功能,点击全选,和删除后,dataArr清空;
3、此时又做了一个改变UITableView的frame动画操作,然后动画操作结束后reloadData,结果闪退。
解释:清空数据后,reloadData之前,如果去改变frame的话,会执行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
操作,而此时dataArr为空,indexpath却不为空,会造成数组越界。