分辨
我在一个块里面执行了segue,这是另一个线程。当我专门将操作移回主线程时,它运行得很好。
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self performSegueWithIdentifier:@"LoadToDisplay" sender:self];
}];
问题
我想以编程方式呈现视图控制器。
我的应用程序从互联网上下载一些数据,执行一些数据处理,然后加载下一个视图。
我在应用程序的其余部分成功使用performSegueWithIdentifer,但由于某种原因,它会在此特定转换时添加一个巨大的延迟。
我使用presentViewController没有延迟,但我不能使用它,只是为了测试我是否遗漏了一些明显的东西。
我在最后一个数据处理方法完成时有一个NSLog,在加载下一个视图控制器时有一个NSLog。使用'presentViewController'日志之间的时间是14ms。当使用performSegueWithIdentifer是一个惊人的8.5秒!
我确实评论了一行,并与另一行进行了测试。没有其他代码更改。
是否有其他人经历过此事或知道可能会发生什么?
感谢。