我有一个iOS应用程序,允许用户连接到我们的服务器并执行一些任务。它很好用,直到我决定抛出一个错误并让它返回到前一个视图控制器。我用应该执行的“segShowError”的标识符创建了一个segue,并将用户发送回父屏幕。目前,segue是Modal,从第一个控制器到第二个控制器都是一个。奇怪的是,我之前在使用push segue时遇到了同样的困难,我使用Modal来修复它。这是“应该”执行segue的代码。Segue没有被执行ios
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解雇模态视图控制器? – Canopus 2012-03-21 20:18:26
从本质上讲是的,但我不知道这是一种选择,我想这是有道理的,虽然 – nick 2012-03-21 20:24:48
好,不要急,因为你不能用dimiss赛格瑞的视图。以模态方式呈现的视图需要自行解决。我只是想要更好地理解你的问题。 – Canopus 2012-03-21 20:29:54