我已经花了一整天的时间在一个问题上,但还没有找到解决方案。我有一个 UITabBarViewController,我正试图从它的一个选项卡中触发模态序列。我已经创建了我想要转场的视图,创建了转场本身(从选项卡的视图控制器到目标的视图控制器)和标识符。为了测试我的 segue,我在选项卡中创建了一个 UIButton 并在其操作上编写了以下代码:
[self performSegueWithIdentifier:@"showProductInfo" sender:self];
模态转场运行良好。但是,如果我尝试编写要在其他地方执行的相同代码(在我收到 Web 服务响应后调用的特定方法内),则 segue 根本不起作用。我收到以下错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'Receiver()没有标识符'showProductInfo'的segue'
这真让我抓狂!任何帮助都更受欢迎。
编辑:
一些额外的发现:
如果我从我当前使用的方法中取出 performSegue(顺便说一下,由 DidFinishLoading 调用)并将其放在 ViewDidLoad 上,则成功执行 segue。
认为这可能是与线程相关的问题,我将 performSegue 包含在 dispatch_async(dispatch_get_main_queue()... 但是错误是一样的!