2017-01-16 5 views
0

私はNSUserDefaultにローカルにuserIdを格納しようとしていますが、設定して印刷すると何も返されません。UserDefaultsで取得して文字列を保存しないで設定する

最初に私は、私はuserIdを文字列

public static var userId: String { 
    get { 
     return userDefaults.string(forKey: "userId") ?? "" 
    } 
    set { 
     userDefaults.set(userId, forKey: "userId") 
    } 
} 

が、私はそれを設定し、それをセッターに

Globals.userId = "5876ad241aa7e973b1f8ec5b" 
    print(Globals.userId) 
+2

はbrainfartの一つ地獄です 'userDefaults = UserDefaults.standard' –

答えて

3

を印刷し、newValue変数が新たに割り当てられ続けるUserDefaults

fileprivate static let userDefaults = UserDefaults() 

を初期化します値。だから、以下のように実装する必要があります。

set { 
     userDefaults.set(newValue, forKey: "userId") 
} 
+0

を変更してみてください!ありがとうございました –

関連する問題