我对XCode编程非常陌生,并且一直在创建一些小应用程序,让我能够理解XCode&斯威夫特一般。目前我正在制作一个问题应用程序,允许用户按下按钮,检查答案是否正确,取决于是否将视图更改为正确或不正确的视图之一。
这是故事板:Storyboard Layout
现在,不同视图之间的转换很好,但是当我从错误或正确的视图返回主视图时,标签将重置回故事板中显示的原始标签。
我怎样才能做到这一点,当我从正确或不正确的视图切换回主视图时,标签会在移动视图之前保持显示的相同问题。
这是我的代码:https://codedump.io/share/1EgsRsJOUUbY/1/first-app
任何帮助都会很棒!
~Alex
答案 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。