获取并设置与UserDefaults不保存字符串
问题描述:
我试图在NSUserDefault本地存储userId,但是当我尝试设置它并尝试打印它不返回,怎么会是这样?获取并设置与UserDefaults不保存字符串
我首先初始化UserDefaults
fileprivate static let userDefaults = UserDefaults()
然后我设置用户标识字符串
public static var userId: String {
get {
return userDefaults.string(forKey: "userId") ?? ""
}
set {
userDefaults.set(userId, forKey: "userId")
}
}
然后我将它设置并打印
Globals.userId = "5876ad241aa7e973b1f8ec5b"
print(Globals.userId)
答
在二传手,newValue
变量不断重新分配值。所以,你应该实现象下面这样:
set {
userDefaults.set(newValue, forKey: "userId")
}
+0
这是一个brainfart一个地狱!谢谢 –
尝试改变'userDefaults = UserDefaults.standard' –