Ich brauche Code, um jedes Mal zu starten, wenn die App geöffnet wird, einschließlich, wenn es nur ausgesetzt wurde (Benutzer schlug die Home-Taste und kehrte dann zur App zurück).Code bei jedem Öffnen der App ausführen - besser?
Ich weiß bereits, dass ViewDidLoad nur auf die erste VC-Last geladen wird, so dass das, was ich brauche, nicht tut. Und viewWillAppear/viewDidAppear tut es auch nicht. Dieser SO-Thread hat an answer, aber es ist vor sechs Jahren und ich liebe die Antwort nicht. Im Wesentlichen heißt es, einen Beobachter zu schaffen. Dies scheint jedoch eine Verschwendung von Ressourcen zu sein, und Beobachter erstellen Referenzschleifen, die die Dinge im Gedächtnis behalten.
Wenn niemand mir eine bessere Lösung gibt, könnte ich "applicationDidBecomeActive" in der AppDelegate versuchen, aber ich versuche, meine appDelegate nicht mit ViewController-Code laden.
Meine Frage ist, in den sechs Jahren, seit dieser SO Thread beantwortet wurde, erlaubt Swift/iOS10 jetzt eine sauberere Lösung?
Es ist eine gute Idee, den Code eines View-Controllers nicht auf AppDelegate zu setzen, aber es ist völlig in Ordnung, seine Methoden an einen View-Controller weiterzuleiten: https://en.wikipedia.org/wiki/Forwarding_(object- oriented_programming). – user3581248
Beachten Sie diese https://developer.apple.com/reference/uikit/uiapplicationdidbeactivenotification – ogres