Ios 如何在Swift中从UserDefaults检索字符串?
我有一个文本字段供用户输入他们的姓名Ios 如何在Swift中从UserDefaults检索字符串?,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我有一个文本字段供用户输入他们的姓名 @IBAction func nameTextField(sender: AnyObject) { let defaults = NSUserDefaults.standardUserDefaults() defaults.setObject("\(nameTextField)", forKey: "userNameKey") } 然后我在ViewDidLoad中调用输入的名称: NSUserDefaults.standardUs
@IBAction func nameTextField(sender: AnyObject) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("\(nameTextField)", forKey: "userNameKey")
}
然后我在ViewDidLoad中调用输入的名称:
NSUserDefaults.standardUserDefaults().stringForKey("userNameKey")
nameLabel.text = "userNameKey"
我做错了什么?每次的结果都是“userNameKey”。我是新手,谢谢 只需将方法返回的结果分配给namelab.text即可。此外,它还返回一个可选值,因此我建议使用返回一个空字符串,而不是nil,以防止在为键分配任何值之前尝试加载它时发生崩溃
func string(forKey defaultName: String) -> String?
字符串值的返回值,与
指定的密钥。对于数字值,为数字的字符串值。
如果默认值不存在或不是字符串或数字,则返回nil
价值观
特殊注意事项
即使最初设置的值是可变字符串,返回的字符串也是不可变的。
你必须做到以下几点:
UserDefaults.standard.set("textToSave", forKey: "userNameKey")
nameLabel.text = UserDefaults.standard.string(forKey: "userNameKey") ?? ""
您只需将方法返回的结果分配给nameLabel.text。此外,它还返回一个可选值,因此我建议使用返回一个空字符串,而不是nil,以防止在为键分配任何值之前尝试加载它时发生崩溃
func string(forKey defaultName: String) -> String?
字符串值的返回值,与
指定的密钥。对于数字值,为数字的字符串值。
如果默认值不存在或不是字符串或数字,则返回nil
价值观
特殊注意事项
即使最初设置的值是可变字符串,返回的字符串也是不可变的。
你必须做到以下几点:
UserDefaults.standard.set("textToSave", forKey: "userNameKey")
nameLabel.text = UserDefaults.standard.string(forKey: "userNameKey") ?? ""
您只需将方法返回的结果分配给nameLabel.text。此外,它还返回一个可选值,因此我建议使用返回一个空字符串,而不是nil,以防止在为键分配任何值之前尝试加载它时发生崩溃
func string(forKey defaultName: String) -> String?
字符串值的返回值,与
指定的密钥。对于数字值,为数字的字符串值。
如果默认值不存在或不是字符串或数字,则返回nil
价值观
特殊注意事项
即使最初设置的值是可变字符串,返回的字符串也是不可变的。
你必须做到以下几点:
UserDefaults.standard.set("textToSave", forKey: "userNameKey")
nameLabel.text = UserDefaults.standard.string(forKey: "userNameKey") ?? ""
您只需将方法返回的结果分配给nameLabel.text。此外,它还返回一个可选值,因此我建议使用返回一个空字符串,而不是nil,以防止在为键分配任何值之前尝试加载它时发生崩溃
func string(forKey defaultName: String) -> String?
字符串值的返回值,与
指定的密钥。对于数字值,为数字的字符串值。
如果默认值不存在或不是字符串或数字,则返回nil
价值观
特殊注意事项
即使最初设置的值是可变字符串,返回的字符串也是不可变的。
你必须做到以下几点:
UserDefaults.standard.set("textToSave", forKey: "userNameKey")
nameLabel.text = UserDefaults.standard.string(forKey: "userNameKey") ?? ""
您需要做的是:
@IBAction func nameTextField(sender: AnyObject) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.set(yourTextField.text, forKey: "userNameKey")
}
稍后在viewDidLoad中:
let defaults = NSUserDefaults.standardUserDefaults()
let yourValue = defaults.string(forKey: "userNameKey")
nameLabel.text = yourValue
您需要做的是:
@IBAction func nameTextField(sender: AnyObject) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.set(yourTextField.text, forKey: "userNameKey")
}
稍后在viewDidLoad中:
let defaults = NSUserDefaults.standardUserDefaults()
let yourValue = defaults.string(forKey: "userNameKey")
nameLabel.text = yourValue
您需要做的是:
@IBAction func nameTextField(sender: AnyObject) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.set(yourTextField.text, forKey: "userNameKey")
}
稍后在viewDidLoad中:
let defaults = NSUserDefaults.standardUserDefaults()
let yourValue = defaults.string(forKey: "userNameKey")
nameLabel.text = yourValue
您需要做的是:
@IBAction func nameTextField(sender: AnyObject) {
let defaults = NSUserDefaults.standardUserDefaults()
defaults.set(yourTextField.text, forKey: "userNameKey")
}
稍后在viewDidLoad中:
let defaults = NSUserDefaults.standardUserDefaults()
let yourValue = defaults.string(forKey: "userNameKey")
nameLabel.text = yourValue
伟大的它起作用了。但这只是给了我一个名字——不管怎样,要做像namelab.text=“嘿(userNameKey)!”这样的事情吗?太好了!它起作用了。但这只是给了我一个名字——不管怎样,要做像namelab.text=“嘿(userNameKey)!”这样的事情吗?太好了!它起作用了。但这只是给了我一个名字——不管怎样,要做像namelab.text=“嘿(userNameKey)!”这样的事情吗?太好了!它起作用了。但这只是给了我一个名字——不管怎样,要做像namelab.text=“嘿(userNameKey)!”这样的事情吗?非常感谢