我是Swift的新手,我做了两个视图控制器:
ViewController1 =从文本字段获取值并更新按钮文本,以匹配在ViewController2上使用userdefaults保存的文本字段用户。
ViewController 2 =只是一个用于输入名称的文本字段和一个保存到user.defaults的按钮,并关闭视图。
目前,一切正常,除了ViewController1上的Button不会使用viewDidLoad更新,无论viewDidAppear还是viewWillApear都不会更新。我必须关闭应用程序并执行任务杀死它,然后启动应用程序,因为它显示了新的按钮名称。
您能告诉我在关闭后返回到ViewController1时如何更改按钮文本吗?
let defaults = UserDefaults.standard
private var monNom: String = ""
@IBOutlet weak var compteApplication: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
if let monNom = UserDefaults.standard.value(forKey: "Nom") as? String {
self.monNom = monNom
print(monNom)
if (monNom != "") {
let contentsNumber = defaults.string(forKey: "savedContentsNumber") ?? "0"
print("I'm not empty")
compteApplication.setTitle("Compte \(monNom) \(String(contentsNumber))", for: .normal)
}
}
最佳答案
如果它对于viewDidAppear
不起作用,这也意味着您的vc演示文稿是模式的,因此请将其更改为全屏显示或使用委托发送更新