一尘不染

当segue为模态时,performSegueWithIdentifier会非常慢

swift

我有一个简单的表格视图,可以在其中处理表格视图的select动作。此动作是继事之后。

如果segue是pushsegue,则立即显示下一个视图。如果segue是modalsegue,则下一个视图为:

  • 需要大约6秒钟才能显示
  • 如果再次点击(第二次点击)会立即显示

我尝试寻找一些想法,但似乎没有一个适合我的情况。特别是:

  • 我正在主UI线程上执行segue
  • 我的观点非常简单(因此中没有问题viewDidLoad)。加上在segue push出现时它几乎立即显示的事实表明加载目标视图没有问题
  • 我试图传递nilsender; 同样的效果。

有人对此有任何想法吗?


阅读 209

收藏
2020-07-07

共1个答案

一尘不染

相信我,试试看。我已经遇到过几次这个问题。

在Swift 2中:

dispatch_async(dispatch_get_main_queue(),{
    self.performSegue(withIdentifier:mysegueIdentifier,sender: self)
})

或对于Swift 3:

DispatchQueue.main.async {
    self.performSegue(withIdentifier: mysegueIdentifier,sender: self)
}
2020-07-07