在tableview中执行performSegue慢didSelectRowAtIndexPath-iOS12

时间:2018-10-15 15:54:15

标签: swift uitableview segue ios12

有人经历过吗?我不是100%肯定这与iOS12有关,但是在didSelectRowAtIndexPath中调用performSegue的延迟约为1-2秒。

我已经尝试过其他地方发现的其他事情,例如将其带入主线程,但没有任何效果。不知道这是不是bug,但是我还没有看到任何人在网上谈论它。

2 个答案:

答案 0 :(得分:0)

您是否正在使用prepare方法?如果是这样,您在Segue之前正在做什么?

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "ExampleSegue" {
        let ChangeVC = segue.destination as! ExampleViewController
        ...
    }   
}

您是否尝试过将所选行的索引路径移交给另一个ViewController?并决定在那里做什么?

答案 1 :(得分:0)

在主线程内尝试您的代码:

DispatchQueue.main.async{
    self.performSegue(withIdentifier: "YourSegueName", sender: self)
}

这对我有用,因为有时我们无法获得主线程,如果您正在使用某些UI东西,这很重要。