TableViewCell删除不会在alertViewController操作上设置动画

时间:2016-10-15 15:03:20

标签: ios uialertcontroller

我在tableview cell中添加了一个“删除”按钮,它在警报模式下显示alertController。在“destroyAction”中,我删除数据并从表中删除行。

let destroyAction = UIAlertAction(title: "Delete", style: .destructive) { (action) in
let indexPath = tableView.indexPath(for: cell!)

   self.numbers.remove(at: (indexPath?.row)!)
   tableView.deleteRows(at: [indexPath!], with: .right)
    }
}

问题是删除了没有动画的行。

但是当我用DispatchQueue.main.async {}将其包裹起来时,动画就会起作用。

let destroyAction = UIAlertAction(title: "Delete", style: .destructive) { (action) in
let indexPath = tableView.indexPath(for: cell!)

   DispatchQueue.main.async {
   self.numbers.remove(at: (indexPath?.row)!)
   tableView.deleteRows(at: [indexPath!], with: .right)
    }
}

有人可以解释为什么这会使动画工作,以及是否有更简单的方法来实现这一点。

0 个答案:

没有答案