我是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演示文稿是模式的,因此请将其更改为全屏显示或使用委托发送更新

09-07 11:43