iOS 6 - программный запуск Unwind Segue ничего не делает
При запуске моего приложения оно программно показывает LoginViewController, используя переход. Контроллер представления представлен модально с переходом, установленным для перекрестного растворения. После успешной аутентификации я хочу отклонить представление входа в систему, программно вызывая переход раскручивания. Поэтому я добавил это в мой заголовочный файл:
- (IBAction)unwindSegue:(UIStoryboardSegue *)segue;
Теперь в IB я могу перетащить элемент управления LoginViewController «Владельца файла» на кнопку «Выход» и выбратьunwindSegue:
, Это создает ручной переход, он корректно отображается в инспекторах соединений для владельца файла и кнопки «Выход». Затем я нажимаю на только что созданный сценарий Unwind со сцены в IB, а затем даю ему имя. Если я нажимаю кнопку «Перейти», чтобы перейти к следующему действию, оно приводит меня к объявлению, упомянутому выше.
Пока все хорошо, я запускаю эту процедуру после успешной аутентификации в моем блоке GCD:
....
dispatch_async(dispatch_get_main_queue(), ^
{
[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self];
[self.spinner removeFromSuperview];
self.spinner = nil;
});
..... и ничего не происходит, когда он работает. Спиннер действительно удаляется правильно, но нет никаких признаков того, что выполнение раскручивания будет выполнено.
Точка останова в реализацииunwindSegue:
никогда не получит удар. Там нет никаких ошибок. На консоль ничего не пишется. Идентификатор правильный, я трижды проверил (иначе все равно не получится).
Я посмотрел на ответыВот, Вот а такжеВот но я, кажется, ничего не пропустил.
Что я заметил, так это то, что Xcode думаетunwindSegue:
являетсяне связаны между собой:
Я не могу перетащить из маленького пустого круга передunwindSegue:
и свяжите его с кнопкой «Выход».
Любая помощь будет оценена.