Dies ist der erste Controller meiner Demo und in der Konsole:
%Vor%Der "didShowViewController" wurde zweimal aufgerufen. Ich bin mir nicht sicher, was los ist
----------------- ein Test ----------------------
Ich füge einige Log-in diese Methode des Controllers: loadView, viewDidLoad, viewWillAppear, viewDidAppear, und die Reihenfolge dieser Protokolle ist:
%Vor% Wenn Sie viewDidLoad(..)
der Klasse UIViewController
überschreiben, sollten Sie immer super.viewDidLoad()
einfügen oder Sie erhalten unerwartetes Verhalten (z. B. wenn ein View-Controller zweimal angezeigt wird, wenn einmal erwartet wird).
Fügen Sie super.viewDidLoad()
zu Ihrem override viewDidLoad(...)
hinzu:
Zeigt Ihr Protokoll weiterhin, dass Ihr View-Controller zweimal angezeigt wird?
UINavigationController
hat zwei Instanzen von UIViewController
Aus dem UINavigationControllerDelegate
Dokumentation
Wird aufgerufen, unmittelbar nachdem der Navigationscontroller eine Ansicht anzeigt Eigenschaften des Controllers und der Navigationselemente.
Anstatt "showViewController" zu protokollieren, loggen Sie die UIViewController
-Instanz ein, um zu sehen, was vor sich geht
Tags und Links ios swift uinavigationcontroller