Są skuteczne, dwa sposoby, można wywołać segue. Pierwsza polega na działaniu na elemencie interfejsu użytkownika w Konstruktorze interfejsów, a druga na użyciu kodu performSegueWithIdentifier:sender:
. Mówię „skutecznie”, bo pod kołdrą, gdy scena jest ładowany z serii ujęć, procedura obsługi działanie jest skonfigurowany, że ostatecznie nazywa performSegueWithIdentifier:sender:
Kiedy performSegueWithIdentifier:sender:
nazywa, obiekt segue jest dostarczana do prepareForSegue:sender:
funkcji Państwa zdanie kontrolera.
W przypadku, gdy Segue zainicjowano przez działanie na element interfejsu użytkownika, to nadawca będzie, że elementem interfejsu użytkownika (to jest, jeśli połączenie działania na UIButton
następnie sender
będzie wystąpienie UIButton
).
Jeśli przełączenie zostanie zainicjowane przez kod wywołujący performSegueWithIdentifier:sender:
, wówczas sender
będzie dowolnym obiektem przekazanym jako sender
. Może to być kontroler widoku, przycisk, tablica, cokolwiek. Więc tak, jeśli przejdą „Hello World” do performSegueWithIdentifier:sender:
jako wartość sender
wówczas będą sender
w prepareForSegue:sender:
pod względem kolejności operacji:
performSegueWithIdentifier:sender
nazywa, albo przez kod lub w wyniku działania elementu interfejsu użytkownika
- Jeśli kontroler podglądu implementuje
shouldPerformSegueWithIdentifier:sender:
, wówczas wywoływana jest ta funkcja. Jeśli ta funkcja zwraca false
wtedy segue jest anulowana
- Przedmiotem segue i widok docelowy kontroler obiektu są tworzone
- Jeśli kontroler widoku implementuje
prepareForSegue:sender:
wtedy ta funkcja jest wywoływana.
- Po powrocie
prepareForSegue:sender:
, przejście kończy się.
Dzięki za to, że uratował mi trochę Backtracking - Musiałam wiedzieć, czy prepareForSegue nadal będzie nazywany niezależnie od sprawdzenia wartości zwracanej shouldPerformSegue. – MandisaW