iOS 6 - programowe uruchamianie Unwind Segue nic nie robi
Podczas uruchamiania mojej aplikacji programowo pokazuje kontroler LoginViewController przy użyciu segue. Kontroler widoku jest prezentowany modalnie z ustawieniem przejścia do rozpuszczania krzyżowego. Po udanym uwierzytelnieniu chcę odrzucić widok logowania, programowo uruchamiając odwijanie. Dodałem to do mojego pliku nagłówkowego:
- (IBAction)unwindSegue:(UIStoryboardSegue *)segue;
teraz w IB jestem w stanie kontrolować przeciąganie z „Właściciel pliku” LoginViewController do przycisku Zakończ i wybraćunwindSegue:
. Tworzy to ręczne segue, pojawia się poprawnie w inspektorach połączeń dla właściciela pliku i przycisku wyjścia. Następnie klikam na nowo utworzony segment Unwind ze sceny w IB, a następnie nadaję mu nazwę. Jeśli kliknę przycisk „Idź do”, aby wykonać akcję „Odwróć segue”, dochodzę do wspomnianej deklaracji.
Do tej pory tak dobrze, że po uruchomieniu uwierzytelniania w moim bloku GCD wyzwalam ten proces odprężania:
....
dispatch_async(dispatch_get_main_queue(), ^
{
[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self];
[self.spinner removeFromSuperview];
self.spinner = nil;
});
..... i nic się nie dzieje po uruchomieniu. Błystka jest usuwana poprawnie, ale nie ma oznak tego, że odprężysz się.
Punkt przerwania w implementacjiunwindSegue:
nigdy nie zostanie trafiony. Nie ma błędów. Nic nie jest zapisywane na konsoli. Identyfikator jest poprawny, potrójnie sprawdziłem (w przeciwnym razie i tak się nie powiedzie).
Spojrzałem na odpowiedzitutaj, tutaj itutaj ale chyba niczego nie przegapiłem.
Jednak zauważyłem, że Xcode myśliunwindSegue:
jestnie połączony:
Nie mogę przeciągnąć z małego pustego kręgu przedunwindSegue:
i połącz go z przyciskiem Zakończ.
Każda pomoc zostanie doceniona.