按钮方法中有这段代码。
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
}
按钮已连接到Second View Controller(通过ctrl-drag segue)。当我发现此问题时,我处于调试模式。按下按钮后,程序控制权直接转到第二个视图控制器的viewDidLoad()方法,而无需执行此代码行
DataforChat.arr2.append(enterMsg.text!)
我知道我们可以以编程方式展示第二个控制器。但是有什么解决方案,它可以先运行代码,然后再转移到另一个视图。谢谢。
答案 0 :(得分:2)
您做对了,但可能不是问题所在。但是,您可以尝试类似
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
self.performSegue(withIdentifier: "NaviageToAnotherView", sender: sender)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "NaviageToAnotherView" {
let swapVC = segue.destination as! HCSwapExerciseViewController
// Do something here
}
}
答案 1 :(得分:1)
您应该在此方法结束时手动执行segue。请注意,您需要将segue从视图控制器连接到下一个视图控制器,而不是将按钮连接到下一个视图控制器
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
performSegue(withIdentifier: "Your segue identifier", sender: self)
}