2016-09-06 5 views
0

Ich habe ein sehr seltsames Problem. Im Folgenden werde ich Ihnen den Code zeigen, der mir Probleme bereitet. Dieser Teil if defaults == "" { ist aus irgendeinem Grund, der mir diesen Fehler gibt: fatal error: unexpectedly found nil while unwrapping an Optional value. Ich kann nicht verstehen warum. Lassen Sie mich Ihnen mehr von meinem Code zeigen, um besser zu verstehen:Probleme mit lokal gespeicherten Daten

var defaults = NSUserDefaults.standardUserDefaults() 


@IBAction func nextThing(sender: AnyObject) { 
    helloName = nameInput.text! 
    helloSurname = surnameInput.text! 

    if defaults == "" { // This is where the error is, found out using breakpoint` 

Das Seltsame ist, dass dieser Code gearbeitet, bevor ich Firebase zu meinem Code hinzugefügt?

Hoffe, Sie können mir helfen, wie es wirklich frustrierend ist.

+0

Fügen Sie Ihren Firebase-Code .. und was ist 'defaults' – triandicAnt

+0

var Standardwerte ist direkt über dem Code-Teil. Ich weiß nicht, warum es nicht im Code-Tag sein wird. Ich benutze noch keinen Firebase-Code, ich habe meinem Projekt gerade Firebase hinzugefügt und ich fragte mich, ob das etwas damit zu tun hat? –

+1

NSUserDefaults ist kein String, deshalb erhalten Sie einen Fehler. Wenn Sie überprüfen, ob ein Schlüssel vorhanden ist, sollten Sie defaults.objectForKey ("YourKey") == nil ausführen. Oder wenn Sie wissen, dass der Schlüssel eine Zeichenfolge enthält, können Sie statt "" "" "" "" verwenden. –

Antwort

1
var defaults = NSUserDefaults.standardUserDefaults() 

Wenn Sie überprüfen wollen, ob Schlüssel vorhanden ist:

defaults.objectForKey("YourKey") == nil 

Wenn Sie den Typ wissen, dass der Schlüssel enthält, können Sie mit einem Objekt dieses Typs überprüfen, z.B. String:

defaults.objectForKey("YourKey") == "" 
Verwandte Themen