繁体   English   中英

不能执行Segue iOS

[英]Segue not being performed ios

我有一个iOS应用程序,允许用户连接到我们的服务器并执行一些任务。 在我决定抛出错误并将其返回到先前的视图控制器之前,它一直很好用。 我使用“ segShowError”的标识符创建了一个序列,该序列应该被执行并将用户发送回父屏幕。 当前,segue是Modal,从第一个控制器到第二个控制器也是如此。 奇怪的是,当我使用推杆功能时,我也遇到了同样的困难,而我改用Modal来解决它。 这是“应该”执行segue的代码。

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(error != nil)
{
    NSLog(@"Error was %@",error);
    return;
}
else if([data length] <= 0)
{
    NSLog(@"No data received, going back");
    [self performSegueWithIdentifier:@"segShowError" sender:self];
}

然后,我有一个prepareForSegue方法,它将确定要发送回父级的错误消息,但现在仅记录一条消息。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"Preparing for segue");
}

我的输出

2012-03-21 13:14:39.148 SSPColorImprov [17401:f803]未收到数据,请返回

2012-03-21 13:14:39.149 SSPColorImprov [17401:f803]准备segue

我认为这两个消息将表明正在执行segue,但是我可能是错的。

没有记录错误,在项目中没有警告,也没有抛出异常。 有什么想法可能导致问题吗?

要关闭以模态显示的视图,您需要通过调用- dismissViewControllerAnimated:completion:来关闭它,而不是使用segues。 例如

 // used to be dismissModalViewControllerAnimated: but deprecated in iOS 5 [self dismissViewControllerAnimated:YES completion:nil]; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM