Ich habe Probleme herauszufinden, wie ViewControllers ordnungsgemäß zu zerstören. In meinem Projekt habe ich 3 View-Controller. Swift - Weg von der modalen Ansicht weg, ViewController nicht richtig zu zerstören
Der erste View-Controller wechselt zum zweiten View-Controller. Der zweite View-Controller wechselt modal zur dritten Ansicht. Wenn die dritte Ansicht auf dem Bildschirm angezeigt wird, ist der zweite Bildschirm immer noch im Hintergrund zu sehen (die dritte Ansicht hat einen transparenten Hintergrund).
Wenn ich jedoch vom dritten View-Controller weg und zurück zum ersten View-Controller gehe, wird der zweite View-Controller, der im Hintergrund ist, nicht zerstört. Ich loggte die Controller-Lifecycle-Ereignissen Ansicht zu veranschaulichen, was ich meine:
viewDidAppear - ViewController1
viewWillDisappear - ViewController1
viewDidAppear - ViewController2
viewDidAppear - ViewController3
viewWillDisappear - ViewController3
viewDidAppear - ViewController1
Wie Sie aus den oben Konsole Druckanweisungen sehen kann, wird ViewController2 nie irgendwo zerstört. Logischerweise ging ich davon aus, dass es zusammen mit ViewController3 zerstört würde, wenn VC3 zurück zu VC1 geleitet würde. Dies ist jedoch nicht der Fall, höchstwahrscheinlich aufgrund der Feinheiten, wie modale Ansichten in Swift funktionieren.
Wie kann ich das beheben? Ich brauche VC2 zu rufen ViewWillDisappear
Verwenden Sie einen ** Abroller segue ** zu VC1 zurückzukehren. Siehe: http://Stackoverflow.com/q/12561735/1630618 – vacawama
DANKE! Die Abwickelstrecke war genau das, wonach ich gesucht hatte – user3161770