我是Swift和iOS开发的新手。我目前有2个ViewControllers
,第一个是button
,第二个是label
。我已经将第一个button
连接到第二个ViewController
,过渡工作正常。
现在,当我尝试更改标签的文本时,出现错误:
致命错误:展开Optional时意外发现nil
值
。
在这里,您可以在第一个ViewController
中找到我的prepare函数:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "mySegue" {
let vc = segue.destination as! SecondViewController
vc.secondResultLabel.text = "Testing"
}
}
难道第二个
ViewController
中的标签受到某种保护吗?谢谢您的帮助
最佳答案
由于尚未创建String
,因此您需要将SecondViewController
传递给UILabel
而不是直接进行设置。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "mySegue" {
let vc = segue.destination as! SecondViewController
vc.secondResultLabelText = "Testing"
}
}
并在
SecondViewController
viewDidLoad
方法中将UILabel
设置为字符串var secondResultLabelText : String!
override func viewDidLoad() {
secondResultLabelText.text = secondResultLabelText
}
关于ios - 单击第一个ViewController中的按钮后更改第二个ViewController的标签文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40765272/