gpt4 book ai didi

ios - NSUserDefaults 中不显示任何文本

转载 作者:行者123 更新时间:2023-11-30 14:16:41 25 4
gpt4 key购买 nike

我有两个 View Controller ,我想存储在第二个 View Controller 中输入的“名称”并在第一个 View Controller 中显示。我已经实现了存储值的功能,现在我想存储用户输入的名称。

这是应该显示名称的 View Controller 的代码:

import UIKit

var name = [String]()

class profile: UIViewController {

//Name
@IBOutlet weak var nameTextField: UILabel!

var vornameLabel = String()

override func viewDidLoad() {

super.viewDidLoad()

//Name
nameTextField.text = "\(name)"

//Vorname speichern
NSUserDefaults.standardUserDefaults().setObject(name, forKey: "vorname")

name = NSUserDefaults.standardUserDefaults().objectForKey("vorname") as! [String]

}

这是输入“名称”的第二个 View Controller 的代码:

import UIKit

class profileSettings: UIViewController {

@IBOutlet weak var vornameLabel: UITextField!
@IBOutlet weak var nachnameLabel: UITextField!

override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

@IBAction func addInformation(sender: AnyObject) {

vornameLabel.text = "\(name)"

NSUserDefaults.standardUserDefaults().setObject(name, forKey: "vorname")

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

//in Profil
var destProfile:profile = segue.destinationViewController as! profile

destProfile.vornameLabel = vornameLabel.text
destProfile.nachnameLabel = nachnameLabel.text

}

}

最佳答案

1) 如果用户输入他们的名字并且成功进入 vornameLabel,那么在 addInformation() 中,您将用“(name)”覆盖用户输入到 vornameLable 的内容,因此您现在已经丢失了用户输入的内容。

2)名称未设置为任何内容(除非您在代码的其他部分中未显示该名称)

3) 因此 1 和 2 一起意味着 vornameLable 不包含任何内容。

4) 即使 vornameLable 确实包含某些内容,那么在 viewDidLoad() 中,您将调用 setObject,它将用名称中的任何内容覆盖存储到 NSUserDefaults 中的任何值。

我认为您需要显示更多代码,这不可能是全部。如果是,那么它什么也不做。

收到信息后更新,发布的代码就是全部:

a) 名称不包含任何内容,因此您不会将任何内容保存为默认值。将其更改为 var name =“我的名字”。

b) 更改 vornameLabel.text = "(name)"tp vornameLabel.text = name

c) 将 NSUserDefaults.standardUserDefaults().setObject(name, forKey: "vorname") 更改为 NSUserDefaults.standardUserDefaults().setObject(vornameLable.text, forKey: "vorname")

d) 删除 viewDidLoad 中的 NSUserDefaults.standardUserDefaults().setObject(name, forKey: "vorname")

关于ios - NSUserDefaults 中不显示任何文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com