ios - 当 segue 为模态时 performSegueWithIdentifier 非常慢

标签 ios objective-c swift segue

我有一个简单的表格 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)
}

正如所讨论的 herehere .

关于ios - 当 segue 为模态时 performSegueWithIdentifier 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28509252/

相关文章:

ios - 移动和动画 UIView

iOS 和 Swift : Ok to force unwrap tableView. 索引路径?

objective-c - Objective-C 中的 bundle 是什么?

iphone - 应用程序在模拟器上运行良好,但在设备上崩溃

ios - Swift 不会将 Objective-C NSError** 转换为抛出

ios - Swift 的 Dispatchqueue 和 Flutter 的 Future 有什么区别?

ios - UINavigationController topViewController 未显示

ios - Xcode Testflight Validate ERROR ITMS-90778 NDEF is disallowed

iphone - UIViewAnimationOptionRepeat在两个动画之间暂停

ios - 如何实现@property(class, readonly, copy, nonatomic) NSArray<NSString *> * _Nullable readableTypeIdentifiersForItemProvider;