Ich versuche, einen Beobachter zu schaffen, der während des gesamten App-Lebens am Leben bleibt. Ich möchte eine Eigenschaft meines TabBarControllers ändern, wenn sich einige Daten in Firebase ändern. Hier ist mein Code:Firebase-Beobachter während der ganzen App-Lebensdauer
self.ref.child("mySubRef").observe(.value , with: {snapshot in
self.tabBarController?.tabBar.items?[3].badgeValue = "!"
})
Also, ich habe versucht, es in der viewDidLoad meiner ersten Viewcontroller zu schaffen und auch in der viewDidAppear. Ich entferne es nicht, weil ich möchte, dass es immer da ist. In der ViewDidAppear funktioniert es nur, wenn ich in diesem ViewController im Moment der Änderung bin. Wenn ich möchte, dass diese Änderung eintritt, egal wo ich bin (immer in der TabBar) Wo muss ich diesen Code ablegen?
Danke für die Hilfe!
Danke für die Beantwortung, die Sache ist, ich brauche ein paar Informationen von der View-Controller (Ich brauche den Benutzer, um geloggt werden), gibt es eine Möglichkeit, es von der ViewController zu tun? –
Ein anderer Weg Timer-Methode. Diese Methode wiederholt die von Ihnen angegebene Zeit. Sehen Sie sich dieses https://www.hackingwithswift.com/example-code/system/how-to-make-an-action-repeat-using-timer an, wenn Sie Aktionen an einen anderen Controller wiederholen möchten, rufen Sie nicht die invalidate-Methode auf. –
Oder Sie können direkt überprüfen, ob sich der Benutzer im AppDelegate angemeldet hat. –