在Swift中将不同的表格单元导航到不同的UIVewController

时间:2015-12-09 12:14:13

标签: ios swift uitableview

我很抱歉回答同样的问题,但经过大量的时间花费后,我无法弄清楚这个问题。

假设 UITableView 2 table_cell ,我想从每个table_cell 导航不同的UIViewController 。我该怎么做?

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

                if indexPath.row == 0 {

                    // go to DetailVC_1

                } else if indexPath.row == 1 {

                    // go to DetailVC_2

        }

enter image description here

2 个答案:

答案 0 :(得分:3)

手动呈现新的视图控制器:

self.presentViewController(controller, animated:true, completion:nil)
// or push on a navigation controller
self.navigationController.pushViewController(controller, animated:true)

或者先执行您在故事板中设置的segue。 (从视图控制器拖动到故事板中的另一个视图控制器)。

self.performSegueWithIdentifier("MyIdentifier", sender: self)

使用故事板时,您还可以使用多个单元格类型,并将每个单元格类型的segue设置为新控制器。这样,新控制器将自动呈现。在这种情况下,您可能需要使用的唯一代码是prepareForSegue方法,您可以在执行segue之前将正确的信息传递给呈现的控制器。

答案 1 :(得分:0)

试试这个:

if indexPath.row == 0 {
         self.performSegueWithIdentifier("firstViewController", sender: self)
} else if indexPath.row == 1 {
         self.performSegueWithIdentifier("secondViewController", sender: self)
}

如果您有多个视图控制器,可以将它们称为viewController0viewController1等。然后您可以使用字符串"viewController" + String(indexPath.row)。希望这可以帮助。