解除模态视图控制器暂时冻结应用程序,swift 3

Eug*_*din 3 modalviewcontroller ios swift3

在我的应用程序中,我有一个视图控制器,我以模态方式呈现.在这个视图控制器中我有一个表视图.每当用户在表视图中进行选择时,我都会关闭视图控制器.

问题是,即使调用了解散功能,有时视图控制器也不会在长时间延迟(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")
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢.

编辑:

我使用以下方法解决了这个问题

DispatchQueue.main.async
{
    self.dismiss(animated: true) {
       DDLogDebug("finished")
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么危害吗?

Sae*_*nia 5

尝试使用调度 DispatchQueue

DispatchQueue.main.async(execute: {

})
Run Code Online (Sandbox Code Playgroud)


Rus*_*ell 5

如果您希望UI上的某些内容立即发生,请在主队列上执行它

DispatchQueue.main.async(execute: {
    self.dismiss(animated: true) { 
    Print("finished")
})
Run Code Online (Sandbox Code Playgroud)