从 NavigationController 以编程方式初始化可重用的表视图控制器
Posted
技术标签:
【中文标题】从 NavigationController 以编程方式初始化可重用的表视图控制器【英文标题】:Programmatic initialisation of reuseable TableViewController from a NavigationController 【发布时间】:2009-09-20 22:55:49 【问题描述】:我想从一个 Nib 文件以编程方式创建一个导航控制器,然后添加一个表视图控制器(作为它的根控制器)。表格视图控制器需要使用可以更改的数据集进行初始化。
这样我可以在不同的两个地方重用表格视图控制器(一个来自显示所有数据的列表,另一个来自显示子选择的搜索)。表格视图控制器需要设置某些属性来控制它显示的数据。
所以,我的应用程序的高级视图如下所示
标签栏控制器 / \ 导航控制器1 导航控制器2 | | TableViewController(所有数据) SearchController | | DrillDown TableViewController(搜索结果) | 向下钻取除了显示的数据外,两边的表视图控制器完全相同。
目前 TabBarController 位于主 nib 文件中。 NavigationController2 在 nib 文件中设置,而 NavigationController1 是从不同的 nib 文件创建并在代码中添加到 TabBarController(因此我可以设置它显示的数据)。 NavigationController1 然后以编程方式添加 TableViewController。 SearchController 以编程方式在按钮操作上加载 TableViewController,并缩小数据范围以提供搜索结果。
我使用哪些函数(以及在哪里)设置所有内容以及如何设置表视图控制器的基础数据?
【问题讨论】:
【参考方案1】:我通过编程而不是从 NIB 创建 NavigationController1 解决了这个问题。
【讨论】:
以上是关于从 NavigationController 以编程方式初始化可重用的表视图控制器的主要内容,如果未能解决你的问题,请参考以下文章
编译错误从应用委托获取 navigationController
从 AppDelegate 调用 navigationController
如果从navigationController弹出时会释放ViewController?
Swift - 如何从 NavigationController 中删除视图控制器?