更改视图控制器时标签会不断重置

时间:2017-04-03 15:48:53

标签: xcode xcode8

我对XCode编程非常陌生,并且一直在创建一些小应用程序,让我能够理解XCode&斯威夫特一般。目前我正在制作一个问题应用程序,允许用户按下按钮,检查答案是否正确,取决于是否将视图更改为正确或不正确的视图之一。

这是故事板:Storyboard Layout

现在,不同视图之间的转换很好,但是当我从错误或正确的视图返回主视图时,标签将重置回故事板中显示的原始标签。

我怎样才能做到这一点,当我从正确或不正确的视图切换回主视图时,标签会在移动视图之前保持显示的相同问题。

这是我的代码:https://codedump.io/share/1EgsRsJOUUbY/1/first-app

任何帮助都会很棒!

~Alex

1 个答案:

答案 0 :(得分:0)

<强>解决方案

一个简单的解决方案是在代码中覆盖名为 viewDidLoad 的方法,并在那里设置 questionLabel 的文本。

override func viewDidLoad() {
    super.viewDidLoad()

    // You can use any index here. With little effort you can even randomize this.
    let exampleIndex = 0

    questionLabel.text = questions[exampleIndex]
}

<强>解释

原始代码的问题在于,当主视图出现时,您无法以编程方式设置questionLabel的文本。通过仅设置 nextQuestionButton IBaction中的文本,只有在调用操作时(通过按下我假设的下一个按钮触发),文本标签才会更改。因此,显示了您从故事板中设置的文本。

要快速查看应用视图生命周期,您可以参考this link