根据所选的UITableViewCell行执行segue

时间:2017-01-17 11:03:44

标签: ios swift uitableview uiviewcontroller uistoryboardsegue

我有一个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。

2 个答案:

答案 0 :(得分:4)

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
   //handle your code here
}

你做的错误是:你已经在didDeselectRowAtIndexPath中处理了

enter image description here

对于多个segues:参考图像

答案 1 :(得分:2)

如果您在InterfaceBuilder中从原型单元格中拖动了一个segue,则在单击该单元格时将执行此segue而不使用代码。

要创建多个segues,您需要从ViewController(顶部的黄色图标)按住Ctrl键拖动到各个目的地。