我正在尝试将userId存储在NSUserDefault本地,但是当我尝试设置它并尝试打印它时它什么也没有返回,那怎么回事?
首先我初始化UserDefaults
fileprivate static let userDefaults = 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)
答案 0 :(得分:3)
在setter中,newValue
变量保留新分配的值。所以你应该实现如下:
set {
userDefaults.set(newValue, forKey: "userId")
}