我有一個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