2017-02-08 1 views
0

Es macht keinen Sinn zu sagen "deinit wird vor viewDidLoad ausgeführt". Wenn ich es nicht selbst sehe, glaube ich es nie. Allerdings passiert es 100% wirklich hier auf meinem Projekt (Xcode8 und Swift2.3).deinit wird vor viewDidLoad ausgeführt

Gibt es irgendeinen Grund für dieses seltsame Ereignis?

+0

Bitte zeigen Sie uns Ihren Code. –

+0

Seht ihr, dass ViewDidLoad tatsächlich nach dem Deinit aufgerufen wird? Bitte klären Sie. – MirekE

+0

@MirekE viewDidLoad wird nie aufgerufen – ikzjfr0

Antwort

1

Sicher, initialisiere deinen View-Controller auf eine lokale Variable, greife nicht auf seine Ansicht zu oder füge sie der View-Hierarchie hinzu und belasse den aktuellen Bereich. Der View-Controller wird deininit und viewDidLoad() wurde nie aufgerufen.

Beachten Sie, dass viewDidLoad() nur das erste Mal ist die Ansicht Controller genannt view Eigenschaft explizit zugegriffen wird, oder wenn loadView() oder loadViewIfNeeded() auf dem View-Controller genannt.

Verwandte Themen