删除具有淡入淡出效果的单元格时,UItableView会挂起

时间:2017-06-27 18:27:30

标签: ios objective-c uitableview

我在使用淡入淡出效果删除tableview中的单元格时面临一个未知问题。以下是删除单元格的代码

[self.recordArray removeObjectAtIndex: indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
        withRowAnimation:UITableViewRowAnimationFade];

当我执行删除滑动操作时,应用程序正在挂起。可以建议这里有什么问题吗? 我在scrollViewDidScroll委托中编写了几行for循环代码。它是否导致挂桌,但据我所知,滚动视频滚动'在用户触摸时调用。请建议。

2 个答案:

答案 0 :(得分:1)

[YourArray removeObjectAtIndex:indexPath.row];
 [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation: UITableViewRowAnimationFade];

不要在indexpath使用“[NSArray arrayWithObject:indexPath]”,而只使用要删除的索引路径。

答案 1 :(得分:0)

例如,在swift中,您可以使用tableView的委托中的editActionsForRowAt。所以你可以使用以下代码:

func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {


    let delete: UITableViewRowAction = UITableViewRowAction(style: .default, title: "Delete", handler: {
        (rowAction: UITableViewRowAction, indexPath: IndexPath) in

        self.recordArray.remove(at: indexPath.row) 
        self.recordTableView.reloadData()           
    })

    return [delete]

}

就是这样。