簡體   English   中英

如何使用 UserDefaults SwiftUI?

[英]How to use UserDefaults SwiftUI?

我正在嘗試創建一個text field ,其中的文本將成為一個var和一個user default ,它將一直顯示。

我嘗試使它等於我在該部分中設置的變量。 但我真的不知道我在做什么。

@State private var Name = UserDefaults.standard.string(forKey: "name")

Section{
  TextField("Name", text: $Name)
  UserDefaults.standard.set($Name, forKey: "name")
}

結構默認值{

static let (nameKey, addressKey) = ("name", "address")
static let userSessionKey = "com.save.usersession"
private static let userDefault = UserDefaults.standard

/**
   - Description - It's using for the passing and fetching
                user values from the UserDefaults.
 */
struct UserDetails {
    let name: String
    let address: String

    init(_ json: [String: String]) {
        self.name = json[nameKey] ?? ""
        self.address = json[addressKey] ?? ""
    }
}

/**
 - Description - Saving user details
 - Inputs - name `String` & address `String`
 */
static func save(_ name: String, address: String){
    userDefault.set([nameKey: name, addressKey: address], 
                    forKey: userSessionKey)
}

/**
 - Description - Fetching Values via Model `UserDetails` you can use it based on your uses.
 - Output - `UserDetails` model
 */
static func getNameAndAddress()-> UserDetails {
    return UserDetails((userDefault.value(forKey: userSessionKey) as? [String: String]) ?? [:])
}

/**
    - Description - Clearing user details for the user key `com.save.usersession`
 */
static func clearUserData(){
    userDefault.removeObject(forKey: userSessionKey)
}

}

暫無
暫無

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

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