如何在表视图中实现简单的向下钻取层次结构?

时间:2015-05-13 02:33:27

标签: ios uitableview swift xcode6

我必须使用什么方法在UITableView中实现简单的向下钻取数据层次结构,而不必在我的故事板中添加不必要数量的表视图?我希望我的主表视图中的每个单元格在选择时都有自己的单元格转换到自己的表格视图,并且无需在我的场景中拥有多个表格视图。使用SWIFT。例如:

Simple Drill Down Hierarchy

1 个答案:

答案 0 :(得分:0)

如果您要转换的控制器是您已经绘制的控制器(即,您总是想要转换为A或B),则不必复制A或B;你可以在故事板中分别拥有一个实例,然后转向它。如果要转换的控制器都是相同的类,但在转换之前需要进行一些设置,则可以实现prepareForSegue(_:sender:)这样的内容:

func prepareForSegue(_ segue: UIStoryboardSegue, sender sender: AnyObject) { 
    let selectedIndex = self.tableView.indexPathForCell(sender as UITableViewCell)
    // set up segue.destinationViewController
}  

如果您可能想要转换到更多类别的控制器,那么您可以执行一些更复杂的操作并以编程方式处理选择。覆盖tableView:didSelectRowAtIndexPath:

func tableView(_ tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    var vc: ViewController? = nil
    switch indexPath.row { 
        case 0: vc = ViewControllerA()
        case 1: vc = ViewControllerB()
        case 2: vc = ViewControllerC()
        ...
    } 
    navigationController?.pushViewController(vc, animated: true)
}