使用UserDefaults获取并设置不保存字符串

时间:2017-01-16 17:17:58

标签: ios swift

我正在尝试将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)

1 个答案:

答案 0 :(得分:3)

在setter中,newValue变量保留新分配的值。所以你应该实现如下:

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