У меня есть приложение для iOS, которое позволяет пользователю подключаться к нашему серверу и выполнять несколько задач. Это прекрасно работает, пока я не решил добавить ошибку и заставить ее вернуться к предыдущему контроллеру представления. Я создал переход с Идентификатором segShowError, который должен быть выполнен и отправить пользователя обратно на родительский экран. В настоящее время 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] Подготовка к переходу
Я думаю, что эти два сообщения указывают на то, что передача выполняется, но я могу ошибаться.
Нет зарегистрированных ошибок, нет предупреждений в проекте и не выдается никаких исключений. Есть идеи, что может быть причиной проблемы?