我正在尝试通过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?)