无法将 'String?' 类型的值分配给类型 'UILabel?'



我刚刚开始编程,现在我尝试使用segues,我复制了一个例子:打开一个新屏幕,从文本字段传输文本,然后退出这个屏幕到主屏幕,从第二个屏幕传输信息,这是相同的文本。当我打开一个已完成的项目时,它效果很好,但我的不是。代码是一样的,所有出口、操作和分段都是一样的。如果我在屏幕上进行分段,就会出现这个错误。伙计们,请帮忙((第一个VC

class ViewController: UIViewController {
@IBOutlet weak var loginTF: UITextField!
@IBOutlet weak var passwordTF: UITextField!
@IBOutlet weak var resultLabel: UILabel!
@IBAction func loginTapped(_ sender: UIButton) {
performSegue(withIdentifier: "detailSegue", sender: nil)
}
@IBAction func unwindSegueToMainScreen(segue: UIStoryboardSegue){
guard let svc = segue.source as? SecondViewController else { return }
self.resultLabel = svc.label.text
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let dvc = segue.destination as? SecondViewController else { return }
dvc.login = loginTF.text
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}

}第二次VC-

class SecondViewController: UIViewController {
var login: String?
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
guard let login = self.login else { return }
label.text = "Hello, (login)"
}
@IBAction func goBackTapped(_ sender: UIButton) {
}  
}

更改此

self.resultLabel = svc.label.text

self.resultLabel.text = svc.label.text

相关内容

最新更新