iOS:如果当前正在刷行,如何防止表更新?

时间:2017-03-30 07:42:58

标签: ios swift

我有一张由Firebase数据库填充的表格。用户可以左右滑动每一行,这会导致行消失。这来自这个图书馆:https://github.com/alikaragoz/MCSwipeTableViewCell

如果我正在刷一行并且表格更新了新数据,我的滑动手势会重置,而我正在滑动的行会被推下。

当其中一行正在与?

进行交互时,是否有办法阻止表上的更新?

1 个答案:

答案 0 :(得分:0)

问题的原因可能是你在获取新数据后听到了tableView.reloadData()(听起来不错),表格视图的更新导致编辑其行数导致推动当前刷过的细胞。

解决方法是检查当前是否正在进行单元格滑动以阻止调用tableView.reloadData(),这应该在滑动完成后完成。幸运的是,在检查了使用过的MCSwipeTableViewCell库之后,我找到了如何通过符合MCSwipeTableViewCellDelegate来检查这样的功能,如下所示:

  • 实施swipeTableViewCellDidStartSwiping:以阻止tableView.reloadData()

  • 实施swipeTableViewCell:didEndSwipingSwipingWithState:mode:以确保滑动结束然后调用tableView.reloadData()

当然,您将如何进行检查的逻辑取决于您,但是 - 这非常 - 这将指导您解决问题。

希望这会有所帮助。