我有一个简单的表格 View ,我在其中处理表格 View 上的选择操作。此操作遵循 segue。
如果 segue 是 push
segue,则立即显示下一个 View 。
如果 segue 是 modal
segue,则下一个 View :
- 需要 6 秒左右才能显示
- 如果我再次点击(第二次点击)会立即显示
我试着四处寻找一些想法,但似乎没有一个适合我的情况。特别是:
- 我正在主 UI 线程上执行 segue
- 我的观点很简单(所以
viewDidLoad
没有问题)。再加上当 segue 是push
时它几乎立即显示的事实表明加载目标 View 没有问题 - 我尝试将
nil
传递给sender
;效果一样。
有人对此有任何想法吗?
最佳答案
相信我,试试这个。这个问题我遇到过好几次了。
在 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)
}
关于ios - 当 segue 为模态时 performSegueWithIdentifier 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28509252/