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)!”这样的事情吗?非常感谢