簡體   English   中英

獲取並設置UserDefaults不保存字符串

[英]get and set with UserDefaults not saving string

我正在嘗試將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)

在setter中, newValue變量保留新分配的值。 所以你應該像下面這樣實現:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM