我有一个UITableView
,其中有几行,例如。 row1,row2,row3。我还有3个UIviewControllers,例如A,B,C。
当我在表格视图中选择row1时,我想显示视图控制器A.
当我在表格视图中选择row2时,我想显示视图控制器B.
当我在表格视图中选择row3时,我想显示视图控制器C.
我想用if语句来做这件事。
我选择了UITableViewCell并将其拖动到视图控制器以创建可以调用的segue。但是它不会让我在UITableViewCell和各种viewControllers之间创建多个segue。
override func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
if indexPath.row == 0 {
self.performSegueWithIdentifier("A", sender: self)
}
if indexPath.row == 1 {
self.performSegueWithIdentifier("B", sender: self)
}
if indexPath.row == 2 {
self.performSegueWithIdentifier("B", sender: self)
}
}
我使用的是swift 2。
答案 0 :(得分:4)
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//handle your code here
}
你做的错误是:你已经在didDeselectRowAtIndexPath中处理了
对于多个segues:参考图像
答案 1 :(得分:2)
如果您在InterfaceBuilder中从原型单元格中拖动了一个segue,则在单击该单元格时将执行此segue而不使用代码。
要创建多个segues,您需要从ViewController(顶部的黄色图标)按住Ctrl键拖动到各个目的地。