我有2 UIButtons个观点.每个都链接到2个不同的视图.他们必须根据您刚刚点击的按钮传递不同的数据.
我知道有不同的方法,segue但我想使用prepareForSegue每个版本(似乎更清楚我segue在故事板和一些代码来解释发生了什么).
我试过这个......
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)
}
Run Code Online (Sandbox Code Playgroud)
但是当我点击按钮时出现错误
(LLDB)
Rac*_*vey 19
取出您的IBActions(确保通过Interface Builder中的右侧栏以及代码中的Connections Inspector中删除它们).对于segues,只需使用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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11678 次 |
| 最近记录: |