缺什么补什么:表视图为什么是 iOS 开发的硬骨头
这门课只解决一件事:用 Swift 写出一个能看、能滑动、能交互的 iOS 表视图。很多转岗过来的同学,基础控件能照着画,但一碰到列表数据就卡壳。具体表现为:单元格复用机制没吃透,滑动多了直接闪退;数据源协议与代理协议分不清,方法全塞在控制器里乱成一团;想加个搜索栏,却不知道搜索条该挂在哪个协议上。如果你目前的状态是能写简单页面,但列表一复杂就懵,说明这块缺口得补。它适合已经跟着前面几个部分了解了 Swift 语法、掌握基础视图控制器的学习者。别假装自己协议和闭包都会,这节课的代码会反复用它们,基础不牢就先回去补。这部分的门槛在于你要彻底理解内存复用机制,而不是死记硬背几个方法名。如果连可选型解包都容易报错,建议先暂停,把前序语法基础打牢再来看表视图。
建议先看哪几块:从概念到搜索栏的实战顺序
拿到资料后别从第一集按头看到尾,按能力缺口挑着看。第一优先级是概述里的数据源与委托协议部分,这是表视图的命门,看不懂这两个协议,后面写代码就是抄。看完概念直接跳到简单表视图模块,跟着敲一遍最基础的列表创建,重点体会行数方法与单元格方法的具体调用时机。接着看自定义单元格,搞懂怎么把系统默认的样式换成自己的界面。最后再啃搜索栏部分,这块逻辑最绕,建议看完视频后自己画一张数据过滤的流程图。资料包里的代码别直接运行看效果,先自己照着写一遍,报错了再对比源码找差异。配套练习时,试着把静态数据换成动态数组,再尝试在搜索栏里处理中英文过滤,这才是把知识内化的过程。遇到报错先看控制台信息,别急着翻答案,自己排查一次代理没连上的错误,胜过看十遍视频。
学完能独立做什么
- 不抄文档,能独立搭起一个包含多组数据的列表,并正确实现单元格复用,不报数据源缺失的错误。
- 能根据设计图自定义单元格,把图片、标签等子控件按约束排好,不再是系统自带的简陋样式。
- 能在表视图头部挂上搜索栏,并处理用户输入时的数据过滤逻辑,实现基础的列表内搜索功能。
- 看完后能回答这几个问题:表视图的数据源和代理分别负责什么?自定义单元格时为什么要加标识符?搜索栏的回调方法是怎么触发数据刷新的?
课程目录
1-1 [5.1 概述] 5.1.1概述-表视图的组成-1 (05:24) 1-2 [5.1 概述] 5.1.1概述-表视图的组成-2 (05:18) 1-3 [5.1 概述] 5.1.2概述-表视图的相关类 (02:09) 1-4 [5.1 概述] 5.1.3概述-表视图分类 (11:16) 1-5 [5.1 概述] 5.1.4概述-单元格的组成和样式 (17:45) 1-6 [5.1 概述] 5.1.5概述-数据源协议与委托协议 (12:27) 1-7 [5.1 概述] 20150413第十期直播答疑 (01:44:50) 2-1 [5.2 简单表视图] 5.2.1简单表视图-创建简单表视图 (29:02) 2-2 [5.2 简单表视图] 5.2.2简单表视图-自定义单元格 (10:06) 2-3 [5.2 简单表视图] 5.2.3简单表视图-添加搜索栏-1 (23:08) 2-4 [5.2 简单表视图] 5.2.3 简单表视图-添加搜索栏-2 (24:16) 2-5 [5.2 简单表视图] 5.2.3 简单表视图-添加搜索栏-3 (05:07) 3-1 [5.3 分节表视图] 5.3.1分节表视图-添加索引-1 (22:24) 3-2 [5.3 分节表视图] 5.3.1分节表视图-添加索引-2 (10:15) 3-3 [5.3 分节表视图] 5.3.2分节表视图-分组 (03:43) 4-1 [5.4 静态表与屏幕布局] 5.4静态表与屏幕布局 (18:55) 5-1 [5.5 修改单元格] 5.5.1修改单元格-删除和插入单元格 (09:40) 5-2 [5.5 修改单元格] 5.5.2实例:删除和插入单元格-1(故事板设计) (12:07) 5-3 [5.5 修改单元格] 5.5.2 实例:删除和插入单元格-2(视图加载及编辑按钮实现 (08:27) 5-4 [5.5 修改单元格] 5.5.2 实例:删除和插入单元格-3(表视图初始化) (16:57) 5-5 [5.5 修改单元格] 5.5.2 实例:删除和插入单元格-4(设置编辑按钮样式) (02:40) 5-6 [5.5 修改单元格] 5.5.2 实例:删除和插入单元格-5(删除和添加实现) (07:42) 5-7 [5.5 修改单元格] 5.5.2 实例:删除和插入单元格-6(收官) (03:33) 5-8 [5.5 修改单元格] 5.5.3 移动单元格 (04:26) 5-9 [5.5 修改单元格] 5.5.4 实例:移动单元格 (08:28) 6-1 [5.6 表视图UI设计模式] 5.6.1表视图UI设计模式-分页模式 (04:47) 6-2 [5.6 表视图UI设计模式] 5.6.2表视图UI设计模式-下拉刷新模式 (03:17) 6-3 [5.6 表视图UI设计模式] 5.6.3表视图UI设计模式-iOS 下拉刷新控件 (23:40)





