2014-08-30 76 views
0

我对iOS很新。我有一些本质上是从外部数据库获取的树结构的数据,所以它的深度在应用程序的编译时没有定义。我想在UINavigationController中使用UITableViewControllers显示这些信息。在这个阶段,我在故事板中的UINavigationController中嵌入了一个UITableViewController,并且已经编写了一个UITableViewController的子类来显示树的第一层。如何以编程方式继续创建我创建的UITableViewController的子类的新实例,同时还创建了我在故事板中定义的原型单元格的引用。是否有可能在iOS中使用UITableViewControllers和UINavigationController设置这种结构?UINavigationController中的UITableViewController来表示未知深度的树结构

任何帮助将不胜感激。 谢谢!

回答

1

在您的TableView委托中,将一些代码放入didSelectRowAtIndexPath:方法中,以创建tableViewController子类的新实例。无论传递它填充其单元格所需的任何数据,还是使用顶级TableView委托/数据源作为每个新实例的委托/数据源(您将不得不跟踪数据层次结构中的位置)。然后,您可以使用self.navigationController pushViewController:animated:转换到新的tableViewController。如果您在每个级别使用相同的子类,cellForRowAtIndexPath:方法将使用相同的单元重用标识符(除非您以其他方式编码),所以您的原型单元应该用于每个级别。

+0

谢谢。这很好。我不得不在子类中重新定义我的原型单元格,但其他一切正常。 – kmc 2014-08-30 12:34:37