Ich möchte die erforderliche App-Versionsnummer beim Start der App abrufen. Aber ich kann nicht den richtigen Schlüssel bekommen.ObserveSingleEvent gibt alte Daten zurück
Ich habe diesen Code zu holen. Ich verwende einzelne Ereignisse beobachten, da ich diese Methode verwende, um die erforderliche Versionsnummer der App zu überprüfen. Diese Methode wird nur ausgelöst, wenn die App mit der Überprüfung beginnt.
func getVersion(completionHandler: @escaping (Result<Any?>) ->()) {
let ref: DatabaseReference! = Database.database().reference().child("version").child("IOS")
ref?.observeSingleEvent(of: .value , with: { snapshot in
if snapshot.exists() {
let recent = snapshot.value as! NSDictionary
print(recent)
}
})
}
Aber es gibt alte Ergebnisse zurück? Ich habe isPersistenceEnabled
bei meiner Appdelegate
aktiviert.
Dies ist die Datenbankstruktur:
ich keine Ergebnisse erhalten, wenn ich Database.database().reference().child("version").child("IOS").
snapshot.exists verwenden, ist falsch, wenn ich das verwenden.
Was ich bisher hatte war: - version | IOS - 1.0
Und ich bekomme das Ergebnis, wenn ich Database.database().reference().child("version"), namely {iOS => 1.0}
verwende. Ich verstehe es nicht, weil es meine alte Struktur war.
Wenn 'isPersistenceEnabled 'auf' true 'gesetzt ist, rufen die Beobachter Daten zuerst vom lokalen Speicher ab. Da "observeSingleEventOfType" nur einmal beobachtet werden soll, werden nur Daten vom lokalen Speicher abgerufen. –
@MuhammadHassan Gibt es eine Möglichkeit, die Daten neu zu laden? – da1lbi3