W moim prostych aplikacji, stworzyłem kilka kontrolerów z podstawowymi segues między nimi:Jak unwindForSegue: towardsViewController: działa?
Żółty kontroler -> BlueController -> GreenController -> OrangeController. Każdy z nich ma własną niestandardową klasę.
Od OrangeController stworzyłem unwindSegue do mojego YellowController. Jest w porządku.
obrębie każdej klasy I umieścić:
override func unwindForSegue(unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) {
print(unwindSegue)
print(subsequentVC)
}
Ale to nie było nazywane w ogóle. Czemu? Jakie demo powinienem przygotować, aby przetestować tę funkcjonalność?
Podobnie jest z:
func allowedChildViewControllersForUnwindingFromSource(source: UIStoryboardUnwindSegueSource) -> [UIViewController]
func childViewControllerContainingSegueSource(source: UIStoryboardUnwindSegueSource) -> UIViewController?
„Stworzyłem kilka kontrolerów z podstawowych segues między nimi:” Tak, ale _what_ rodzaju kontrolerów są i jaką segues oni są? Funkcja "unwindForSegue" jest wywoływana tylko w _parent view controllers_. Jeśli zrobiłbyś tylko modalne (prezentacja) segues, na przykład, to nie będzie w ogóle wzywany, ponieważ rozwijanie składa się wyłącznie z prostego zwolnienia. – matt