在我的应用程序中,我有一个 View Controller ,我以模态方式呈现它。在这个 View Controller 中,我有一个 TableView 。每当用户在 TableView 中进行选择时,我都会关闭 View Controller 。
问题是有时即使调用了 dismiss 函数,view controller 也没有被解散或在长时间延迟(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")
})
关于ios - 关闭模态视图 Controller 偶尔会卡住应用程序,swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41726017/