Ich habe ein sehr seltsames Problem in Swift3
. Ich möchte einen Benutzer bei der Anwendung angemeldet lassen, nachdem er sich bereits in seiner letzten Sitzung authentifiziert hat.UserDefault gibt verschiedene Werte zurück
Mein Problem ist, dass UserDefaults
Rückkehr manchmal wahr, manchmal falsch, auch wenn in seinem Konto angemeldet ist. Das Problem macht mich verrückt. Ich verwende einen bool
Wert in UserDefaults
gespeichert, ich habe versucht, eine bestimmte Zeichenfolge zu speichern, aber das Problem weiterhin.
Wer hatte dieses Problem? Irgendwelche Lösungen? Hier
ist der Code, wenn ich mich einlogge:
UserDefaults.standard.set(true, forKey: LOGIN)
Und dies ist mein Code in AppDelegate
in didFinishLaunchingWithOptions
Methode:
if UserDefaults.standard.bool(forKey: LOGIN) {
AppData().updateUserInformation()
}
UserDefaults ist nichts anderes als ein In-Memory-Wörterbuch, das gelegentlich auf einem Plist gesichert wird. Es gibt keine Möglichkeit, dass ein Wert, der in Benutzerstandardeinstellungen festgelegt ist, nicht sofort mit oder ohne Synchronisierung zurückgelesen werden kann. Ausführliche Informationen finden Sie unter http://stackoverflow.com/a/40809748/1226963. – rmaddy
Ich sage nur, dass die praktische Erfahrung etwas anderes gezeigt hat. Der Zugriff auf UserDefaults.standard von verschiedenen Threads verschärft die Situation. – picciano