2016-08-16 1 views
2

Ich habe den folgenden Code-BlockSpeichern von Werten lokal NSUserDefaults mit

let defaults = NSUserDefaults.standardUserDefaults() 
let username = self.emailText.text 
let password = self.passwordText.text 
defaults.setValue(username, forKey: defaultsKeys.userKey) 
defaults.setValue(password, forKey: defaultsKeys.passwordKey) 
var u = defaults.stringForKey(defaultsKeys.userKey) 
var p = defaults.stringForKey(defaultsKeys.passwordKey) 

Benutzername und das Passwort korrekt sind bei der Einstellung. Wenn ich sie jedoch zurückziehe, haben du und p den gleichen Wert, und es ist der Passwortwert.

Ich deklariere defaultKeys oben auf der Seite auf diese Weise.

struct defaultsKeys { 
    static let userKey = "" 
    static let passwordKey = "" 
} 

Ich gehe davon aus, dass es einen einfachen Syntaxfehler gibt, den ich nicht sehe, weil es scheint, dass es funktionieren sollte.

Antwort

3

Set verschiedene Schlüsselnamen:

struct defaultsKeys { 
    static let userKey = "userKey" 
    static let passwordKey = "passwordKey" 
} 
+0

ich jetzt erinnere, habe ich die gleiche Ding das letzte Mal habe ich das anfangs versucht. Ich dachte immer, die Kurse seien ein Standardwert. Vergaß es war ein Schlüssel. – Jhorra

3

Sie haben den gleichen Schlüssel für beide, stellen nur einen anderen Schlüssel für jeden:

struct defaultsKeys { 
    static let userKey = "USER_KEY" 
    static let passwordKey = "PWD_KEY" 
} 
1
struct defaultsKeys 
{ 
static let userKey = "userKey" 
static let passwordKey = "passwordKey" 
} 
Verwandte Themen