我很抱歉回答同样的问题,但经过大量的时间花费后,我无法弄清楚这个问题。
假设 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
}
答案 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)
}
如果您有多个视图控制器,可以将它们称为viewController0
和viewController1
等。然后您可以使用字符串"viewController" + String(indexPath.row)
。希望这可以帮助。