当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《解除模态视图控制器暂时冻结应用程序,swift3》经验,为你挑选了1个好方法。

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

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

这样做有什么危害吗?



1> Russell..:

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

DispatchQueue.main.async(execute: {
    self.dismiss(animated: true) { 
    Print("finished")
})

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有