我已经在一个问题上花了一整天的时间,但还没有找到解决方案。我有一个UITabBarViewController,我试图从其中一个选项卡中启动一个模式的segue。我已经创建了我想继续使用的视图,自己创建了segue(从选项卡的视图控制器到目标视图控制器)和标识符。为了测试我赛格瑞我在标签中创建一个UIButton并写上其作用如下代码:模态不符合代码
[self performSegueWithIdentifier:@"showProductInfo" sender:self];
模态SEGUE工作的罚款。但是,如果我尝试编写相同的代码以在其他地方执行(在收到Web服务响应后调用的特定方法内),那么segue根本不起作用。我得到以下错误:
终止应用程序由于未捕获的异常“NSInvalidArgumentException”,理由是:“接收器()没有赛格瑞与标识符‘showProductInfo’”
这是推动我疯了!任何帮助更受欢迎。
EDITTING:
一些额外的调查结果:
如果我脱下performSegue从我目前使用的(其中的方式是通过DidFinishLoading调用),并把它放在viewDidLoad中进行SEGUE方法成功。
思考,这可能是一个线程相关的问题我包括performSegue一个dispatch_async(dispatch_get_main_queue()内......但错误是一样的!
确保你不在viewDidLoad中执行模态,但是在viewDidAppear中。在viewDidAppear之前没有显示出显示模式的视图。 – 2017-08-19 19:02:57