在没有 运行 按钮代码的情况下转到 SecondViewController
Segue to SecondViewController without running the button code
我在按钮方法中有这段代码。
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
}
该按钮已连接到第二个视图控制器(通过按住 ctrl 并拖动 segue)。当我发现这个问题时,我正处于调试模式。按下按钮时,程序的控制直接转到第二个视图控制器的 viewDidLoad() 方法,而不执行这行代码
DataforChat.arr2.append(enterMsg.text!)
我知道我们可以通过编程方式呈现第二个控制器。但是有没有任何解决方案,它首先 运行 在转移到另一个视图之前的代码。谢谢
您应该在此方法结束时手动执行 segue。请注意,您需要将 segue 从视图控制器连接到下一个视图控制器,而不是将按钮连接到下一个视图控制器
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
performSegue(withIdentifier: "Your segue identifier", sender: self)
}
你做得对,但没有得到 wat 可能是问题所在。但是,你可以尝试这样的事情
@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
}
}
我在按钮方法中有这段代码。
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
}
该按钮已连接到第二个视图控制器(通过按住 ctrl 并拖动 segue)。当我发现这个问题时,我正处于调试模式。按下按钮时,程序的控制直接转到第二个视图控制器的 viewDidLoad() 方法,而不执行这行代码
DataforChat.arr2.append(enterMsg.text!)
我知道我们可以通过编程方式呈现第二个控制器。但是有没有任何解决方案,它首先 运行 在转移到另一个视图之前的代码。谢谢
您应该在此方法结束时手动执行 segue。请注意,您需要将 segue 从视图控制器连接到下一个视图控制器,而不是将按钮连接到下一个视图控制器
@IBAction func sendMsg(_ sender: UIButton) {
DataforChat.arr2.append(enterMsg.text!)
performSegue(withIdentifier: "Your segue identifier", sender: self)
}
你做得对,但没有得到 wat 可能是问题所在。但是,你可以尝试这样的事情
@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
}
}