访问和设置标签文本 userDefaults
accessing and setting label text userDefaults
我有两个 userdefault 值 username
和 password
,我想设置在 tableView cell
文本中的标签这些 userdefaults,但我的代码只设置 username
不是密码
有什么解决办法吗?
class UDM {
static let shared = UDM()
let defaults = UserDefaults(suiteName: "saved.data")
}
@IBAction func registerButton(_ sender: Any) {
UDM.shared.defaults?.setValue(usernameRegister.text, forKey: "username")
UDM.shared.defaults?.setValue(passwordRegister.text, forKey: "password")
} // userdefaults are set succesfully
// table view controller
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell2", for: indexPath) as? TableViewCell
cell?.setup(with: UDM.shared,with: UDM.shared)
return cell!
}
///table view cell
func setup(with username:UDM,with password:UDM){
label.text = UDM.shared.defaults?.value(forKey: "password") as? String
label.text = UDM.shared.defaults?.value(forKey: "username") as? String
}
我认为你给同一个标签分配了不同的值。
如果您阅读了您的代码,它首先会为您的标签分配密码,然后再为相同的标签分配用户名。你必须制作一个 label1 或 label2.
func setup(with username:UDM,with password:UDM){
label1.text = UDM.shared.defaults?.value(forKey: "password") as? String
label2.text = UDM.shared.defaults?.value(forKey: "username") as? String
}
我有两个 userdefault 值 username
和 password
,我想设置在 tableView cell
文本中的标签这些 userdefaults,但我的代码只设置 username
不是密码
有什么解决办法吗?
class UDM {
static let shared = UDM()
let defaults = UserDefaults(suiteName: "saved.data")
}
@IBAction func registerButton(_ sender: Any) {
UDM.shared.defaults?.setValue(usernameRegister.text, forKey: "username")
UDM.shared.defaults?.setValue(passwordRegister.text, forKey: "password")
} // userdefaults are set succesfully
// table view controller
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell2", for: indexPath) as? TableViewCell
cell?.setup(with: UDM.shared,with: UDM.shared)
return cell!
}
///table view cell
func setup(with username:UDM,with password:UDM){
label.text = UDM.shared.defaults?.value(forKey: "password") as? String
label.text = UDM.shared.defaults?.value(forKey: "username") as? String
}
我认为你给同一个标签分配了不同的值。
如果您阅读了您的代码,它首先会为您的标签分配密码,然后再为相同的标签分配用户名。你必须制作一个 label1 或 label2.
func setup(with username:UDM,with password:UDM){
label1.text = UDM.shared.defaults?.value(forKey: "password") as? String
label2.text = UDM.shared.defaults?.value(forKey: "username") as? String
}