以编程方式显示视图控制器的延迟

时间:2014-11-26 23:37:06

标签: ios objective-c segue viewcontroller

分辨

我在一个块里面执行了segue,这是另一个线程。当我专门将操作移回主线程时,它运行得很好。

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
  [self performSegueWithIdentifier:@"LoadToDisplay" sender:self];
}];

问题

我想以编程方式呈现视图控制器。

我的应用程序从互联网上下载一些数据,执行一些数据处理,然后加载下一个视图。

我在应用程序的其余部分成功使用performSegueWithIdentifer,但由于某种原因,它会在此特定转换时添加一个巨大的延迟。

我使用presentViewController没有延迟,但我不能使用它,只是为了测试我是否遗漏了一些明显的东西。

我在最后一个数据处理方法完成时有一个NSLog,在加载下一个视图控制器时有一个NSLog。使用'presentViewController'日志之间的时间是14ms。当使用performSegueWithIdentifer是一个惊人的8.5秒!

我确实评论了一行,并与另一行进行了测试。没有其他代码更改。

是否有其他人经历过此事或知道可能会发生什么?

感谢。

0 个答案:

没有答案