2014-10-07 1 views
0

Я работаю над очень простым приложением. Когда я пытаюсь выполнить segue программно, я сталкиваюсь с ошибкой Sigabrt. Я использовал точку останова исключения, чтобы идентифицировать строку кода, которая вызвала ошибку, и как только я удалил ее, ошибка больше не возникала. Строка кода была:Segue вызывает ошибку «Thread 1: signal SIGABRT»

[self performSegueWithIdentifier:@"finished" sender:self]; 

И это было заложено в следующий метод:

- (void) buttonPressed: (id)sender{ 
    NSLog(@"Hello"); 
    [self performSegueWithIdentifier:@"finished" sender:self]; 

} 

Пожалуйста, помогите мне преодолеть эту ошибку, так как это очень важно мимо моего кода.

Спасибо, Awais

+0

Проверьте вывод консоли. Он должен отображать дополнительную информацию. – fluidsonic

+0

@fluidsonic У меня возникла следующая ошибка: «Завершение приложения из-за неперехваченного исключения» NSGenericException », причина:« Не удалось найти контроллер навигации для segue «закончен». Push segues можно использовать только тогда, когда управляющий источник управляется экземпляром UINavigationController. '" –

+0

Как и сообщение об ошибке, вы должны создать UINavigationController и встроить свое представление в контроллер навигации. Я полагаю, вы могли бы выбрать другие типы, такие как модальный вид. – Dogahe

ответ

1

Нить Грохот является Резьба1, пользовательский интерфейс должен управляться от главного потока, который Thread 0. Либо вы запуская SEGUE из другого потока, чем MainThread либо вы делаете что-то неправильно на вторичном нить.

0

Я выяснил, что случилось. Я не встроил главный контроллер вида в контроллер навигации. Спасибо за помощь.