Ich versuche zu überprüfen und zu sehen, ob der Benutzer einen Eintrag in UserDefaults.standard.object (forKey: "foo") als gespeichert hat! Double, wenn sie jedoch keinen Eintrag gespeichert haben, gibt sie null zurück und schlägt offensichtlich fehl. Also dachte ich, ich sollte eine if let-Anweisung verwenden, aber jetzt heißt es, dass "Initialisierer für bedingte Bindung optionalen Typ haben muss" Kann mir bitte jemand helfen, zu verstehen, wie ich prüfen kann, ob es einen Eintrag gibt, und wenn es einen Eintrag gibt?UserDefaults.standard.object (forKey: "foo") as! Double
0
A
Antwort
3
Um zu verwenden, wenn lassen, müssen Sie Fragezeichen (?) Anstelle von Ausrufezeichen (!) Verwenden. So wäre es
if let test = UserDefaults.standard.object(forKey: "foo") as? Double{
//blabla
}
Verwandte Themen
- 1. CKRecord setValue: forKey oder setObject: forKey
- 2. Ist `export {foo as default}` gültig für ES2015?
- 3. Ist das ein Python-Antipattern? 'import foo.foo as foo' Schatten den Rest des foo-Pakets
- 4. var foo = foo || Alarm (foo);
- 5. as (x, 'double') und as.double (x) sind inkonsistent
- 6. Swift NSUserDefaults setString: forKey :?
- 7. Unterschied zwischen Foo * foo; und Foo foo; in C++
- 8. Wie exportiere ich * als foo von './Foo'`?
- 9. Warum * foo ++ = * ++ foo kann undefiniert sein?
- 10. setValue forKey in NSMutableDictionary stürzt
- 11. Fehler beim Aufruf self.setValue (: :) forKey
- 12. keyof Foo vs Object.keys (Foo)
- 13. Foo kann nicht auf Foo
- 14. Wie Zeiger werfen Foo Foo ** const ** in C++
- 15. + AS
- 16. UIBarButtonItem Wert (forKey: key) kann nicht mehr
- 17. Was ist der Unterschied zwischen: foo, :: foo, :: bar/foo und: bar/foo in Clojure?
- 18. "new Foo() {}" vs. "new Foo()" in Java
- 19. foo (bar) und foo (bar, baz)
- 20. isinstance (foo, types.GeneratorType) oder inspect.isgenerator (foo)?
- 21. "foo (int * Zeiger)" vs. "foo (int * & Zeiger)"
- 22. Wo ist der Unterschied zwischen setObject: forKey: und setValue: forKey: in NSMutableDictionary?
- 23. DStream [Double, Double] in RDD [(Double, Double)] konvertieren
- 24. 'goto * foo' wo foo kein Zeiger ist. Was ist das?
- 25. Downcasting in Swift mit as und as?
- 26. long double vs double
- 27. C#: double [] [] und double [,]
- 28. Scala: Mustervergleich mit Option [Foo] und Parameter von Foo
- 29. Wann "importieren * als Foo" gegen "Import Foo" verwenden?
- 30. Warum addAnimation: forKey funktioniert nicht in viewDidLoaded
sein, wenn Sie nur, wenn der Wert existiert überprüfen möchten, überhaupt nicht mit einer Besetzung stören. – rmaddy