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