在我的应用程序中,我有一个视图控制器,我以模态方式呈现.在这个视图控制器中我有一个表视图.每当用户在表视图中进行选择时,我都会关闭视图控制器.
问题是,即使调用了解散功能,有时视图控制器也不会在长时间延迟(5-7秒)后被解雇或被解雇.
这是我的代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if tableView == self.quarterTableView { self.delegate?.modalViewController(modalVC: self, dismissedWithValue:self.quarterPeriods[indexPath.row]) } else if tableView == self.monthTableView { self.delegate?.modalViewController(modalVC: self, dismissedWithValue: self.monthPeriods[indexPath.row]) } Print("didSelectRowAt dismiss") self.dismiss(animated: true) { Print("finished") } }
任何帮助都非常感谢.
编辑:
我使用以下方法解决了这个问题
DispatchQueue.main.async { self.dismiss(animated: true) { DDLogDebug("finished") } }
这样做有什么危害吗?
如果您希望UI上的某些内容立即发生,请在主队列上执行它
DispatchQueue.main.async(execute: { self.dismiss(animated: true) { Print("finished") })