gpt4 book ai didi

xcode - Swift:prepareForSegue 有两个不同的 segues

转载 作者:IT王子 更新时间:2023-10-29 05:46:39 24 4
gpt4 key购买 nike

我在一个 View 上有 2 个 UIButtons。他们每个人都链接到 2 个不同的 View 。它们必须根据您刚刚点击的按钮传递不同的数据。

我知道 segue 有不同的方法,但我想为每个使用 prepareForSegue 版本(对我来说似乎更清楚 segue 绘制在 Storyboard 和一些代码来解释发生了什么)。

我试过了...

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue != "historySegue") {
let controller = segue.destinationViewController as! ResultViewController
controller.match = self.match
} else {
let controller = segue.destinationViewController as! HistoryViewController
controller.history = self.history
}
}


@IBAction func showHistory(sender: UIButton) {
performSegueWithIdentifier("historySegue", sender: self)
}

@IBAction func match(sender: UIButton) {
performSegueWithIdentifier("matchSegue", sender: self)
}

但是点击按钮时出现错误

(lldb)

最佳答案

取出您的 IBAction(确保通过 Interface Builder 中的右侧栏以及您的代码在 Connections Inspector 中删除它们)。对于 segue,只需使用 Interface Builder,确保两个 segue 的标识符都是正确的,然后试试这个 prepareForSegue 方法:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "matchSegue" {
let controller = segue.destinationViewController as! ResultViewController
controller.match = self.match
} else if segue.identifier == "historySegue" {
let controller = segue.destinationViewController as! HistoryViewController
controller.history = self.history
}
}

关于xcode - Swift:prepareForSegue 有两个不同的 segues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31457300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com