我正在尝试创建一个文本字段
,其中的文本变为var
和用户默认值
,它将显示所有时间。
我尝试使其等于我在该部分中设置的变量。 但我真的不知道自己在做什么。
@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)
}
}
关于swift - 如何使用 UserDefaults SwiftUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59139561/