什么可能导致pushViewController非常慢?(新视图显示需要30 +秒)
基本上,我正在做这样的事情:
SecondViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"correctID"];
vc.something = something;
[self.navigationController pushViewController:vc animated:YES];
CLS_LOG(@"Pushed Controller...");
Run Code Online (Sandbox Code Playgroud)
我正在第二个视图控制器内的viewdidload的开头记录.我不是其他方法的子类.
在推送控制器...和viewdidload的下一个日志之间有一个巨大的延迟.
你会如何调试这个?
我已经尝试过使用TimeProfiler,但显然它没有显示任何内容.
Din*_* Tw 19
之前有过类似的问题,请尝试以下方法
dispatch_async(dispatch_get_main_queue(), ^{
// your navigation controller action goes here
});
Run Code Online (Sandbox Code Playgroud)
迪诺的回答救了我一命。他得到了我的支持。我只是为现代快速用户添加此功能。
DispatchQueue.main.async {
self.navigationController?.pushViewController(vc, animated: true)
}
Run Code Online (Sandbox Code Playgroud)