performSegueWithIdentifier 方法对于模态 segue 非常慢

Posted

技术标签:

【中文标题】performSegueWithIdentifier 方法对于模态 segue 非常慢【英文标题】:performSegueWithIdentifier method is very slow for modal segue 【发布时间】:2015-06-10 14:19:38 【问题描述】:

我必须显示注册视图控制器。目前这个屏幕加载了 UIWindow.rootViewController 方法,我不喜欢作为解决方案。

谷歌搜索后我发现this问题,这对我一点帮助都没有(问题仍然存在),所以我不得不问,有没有其他解决方案。我的代码如下:

-(void)viewDidAppear:(BOOL)animated

  [super viewDidAppear:animated];
  if(![Class isUserRegistered])
    [self performSegueWithIdentifier:@"" sender:self];
  

注册控制器在 5-7 秒后显示(iPhone 4、7.1.2)

一种可能的选择是使用自适应 segue-s,但目前还不可能。

我注意到,当我从情节提要中删除所有出口时,视图加载速度要快得多。

有什么想法吗?

【问题讨论】:

为什么是-1?我的问题有什么问题? 【参考方案1】:

试试这个,

dispatch_async(dispatch_get_main_queue(), ^
    //this block of code is executed on main thread, all UI operations should be done on main thread
    [self performSegueWithIdentifier:@"" sender:self];
);

【讨论】:

试过了,不能解决问题。Segue 还是很慢。

以上是关于performSegueWithIdentifier 方法对于模态 segue 非常慢的主要内容,如果未能解决你的问题,请参考以下文章

performSegueWithIdentifier 出现运行时错误,为啥?

iOS8 performSegueWithIdentifier 运行太慢

performSegueWithIdentifier:sender: 找不到我的转场

unwind segue / performSegueWithIdentifier: 问题

performSegueWithIdentifier 不起作用

performSegueWithIdentifier:从 didSelectRowAtIIndexPath 调用的方法缓慢显示视图