prepareForSegue 不会在 Swift 4 中传递数据



我正在尝试通过prepareForSegue将文本从视图控制器中的文本字段传递到第二个视图控制器中的标签,但它不起作用。

到目前为止我的代码:

class ViewController: UIViewController {
    @IBOutlet weak var inputTextField: UITextField!
    // use of override func prepare gives an error
    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var DestViewController: secondViewController = segue.destination as! secondViewController
        DestViewController.labelText = inputTextField.text!
    }
}
class SecondViewController: UIViewController {
    @IBOutlet weak var receivedTextLabel: UILabel!
    var labelText = "ss"
    override func viewDidLoad() {
        super.viewDidLoad()
        receivedTextLabel.text! = labelText
    }
}

如果我使用 override 进行prepareForSegue,则会出现以下错误:

方法

不会覆盖其超类中的任何方法

在不覆盖的情况下,它会构建,但在执行从按钮到SecondViewController的 segue 后,标签的文本不会更新。

该方法在 Swift 3 中从 prepareForSegue(segue:sender) 更改为 prepare(for:sender:) 。将其替换为以下内容:

override func prepare(for segue: UIStoryboardSegue, sender: Any?)

最新更新