2017-02-15 3 views
0

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

sein, wenn Sie nur, wenn der Wert existiert überprüfen möchten, überhaupt nicht mit einer Besetzung stören. – rmaddy

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