深入探索导航控制器与表格视图
1. 导航控制器与表格视图概述
导航控制器和表格视图紧密协作。虽然严格来说,导航控制器不一定依赖表格视图,但在实际应用中,实现导航控制器时通常会用到至少一个表格视图,甚至多个。这是因为导航控制器在处理复杂的分层数据方面表现出色,而在 iPhone 的小屏幕上,通过一系列表格视图展示分层数据是最佳选择。
2. 导航控制器基础
构建分层应用的主要工具是 UINavigationController ,它与 UITabBarController 类似,都能管理和切换多个内容视图。不同的是, UINavigationController 以栈的形式实现,非常适合处理分层结构。
2.1 栈的概念
栈是一种常用的数据结构,遵循后进先出(LIFO)原则。可以用 Pez 糖果盒来形象理解:
1. 打开 Pez 糖果盒,将糖果依次放入,最后放入的糖果会最先被取出,最先放入的则最后取出。
2. 在计算机中,向栈中添加对象称为“push”,移除对象称为“pop”。第一个被 push 到栈中的对象是栈的底部,最后一个是栈顶。
2.2 控制器栈
导航控制器维护一个视图控制器栈,任何类型的视图控制器都可以入栈。设计导航控制器时,需要指定用户看到的第一个视图,即根视图控制器,它是栈的底部。当用户选择下一个视图时,新的视图控制器会被 push 到栈中,其对应的视图将显示出来。
下面是导航控制器操作与栈操作的对应关系表格:
| 操作类型 | 栈操作 | 导
超级会员免费看
订阅专栏 解锁全文
238

被折叠的 条评论
为什么被折叠?



