![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzc1Ny9jYmUyZjJmODVhMTA0MTkwOWY4MTdlZTZmNjdkYTJkZC5wbmc%3D.png?w=700)
2. 本节课将为您演示,如何自定义表格的数据来源。首先在一个空白项目中,打开视图控制器的代码文件。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI2Mi82Y2U1NWQ0ZWQ1Y2ZiMWYyYjU3OWUwMjIwZjNlNTA3Ni5wbmc%3D.png?w=700)
3. 接着开始编写代码,实现这项功能。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY0Ny8wYTFjYzFkZjI1NDRhZTA1NzQ3Y2QxY2M4ZmI5NTc5Ny5wbmc%3D.png?w=700)
4. 首先添加两个代理协议。一个是表格视图的数据源协议,另一个是表格视图的代理协议。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ0Ny83OTBhOTMzZTI4ZTVhMzhlNTQ4YWFmZWMwMDg5MGI1Ny5wbmc%3D.png?w=700)
5. 创建一个数组,作为表格的数据来源。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIwL2I1YWQ0ZTU3MWZhYWE3YjQwYmQ0N2NjZjBjMDIxMTFjLnBuZw%3D%3D.png?w=700)
6. 创建一个位置在(0, 40),尺寸为(320, 420)的显示区域。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQzL2I1OWVlN2UyYmEwZWEwMzU0MDI3MTY3ZjIzNDUxNTFiLnBuZw%3D%3D.png?w=700)
7. 初始化一个表格视图,并设置其位置和尺寸信息。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQyMS9hMDY1OTYwMDc2NmY3M2U4NGM4Yzg4NzQ3OTFlYzM1NS5wbmc%3D.png?w=700)
8. 设置表格视图的代理,为当前的视图控制器类。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIyMy9hODU3NDk4OWQ0YjYzMGM4ZTRkZDdiYzBlNjcwYTQxZi5wbmc%3D.png?w=700)
9. 设置表格视图的数据源,为当前的视图控制器类。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE1MC8zOTBmZmNjMWY0ZjI0NTg4NDVmMzA2MDE4MzIwOTY5Ni5wbmc%3D.png?w=700)
10. 然后将表格视图,添加到当前视图控制器的根视图中。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzYzNy9lOGZiMmVkOTQ3MzU5YjFiODg0MmUwZGY5Y2U0YjQyNS5wbmc%3D.png?w=700)
11. 添加一个代理方法,用来设置表格视图的行数。在此使用数组的长度,作为表格视图的行数。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIxMy81MDljNGY5MWE2NWU2ZThjYTdjYjc5MTQ0MWVkNGVjNS5wbmc%3D.png?w=700)
12. 添加一个代理方法,用来初始化或复用表格视图中的单元格。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMxMC82YTVhNzFmZDczNWRjODEzYTRjYzdlMzg4ODIxOGEwZS5wbmc%3D.png?w=700)
13. 创建一个字符串,作为单元格的复用标识符。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzYwOC82MmY4NmY4OTE5Mzc0NTA0MjQ4Mjc4MjhiZjMzNDQyOC5wbmc%3D.png?w=700)
14. 单元格的标识符,可以看作是一种复用机制。此方法可以从,所有已经开辟内存的单元格里面,选择一个具有同样标识符的、空闲的单元格。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE5My9hNjZmOTIwN2NlNGRmOWMzY2UyNGU2YjdlOTJmM2IxMS5wbmc%3D.png?w=700)
15. 如果在可重用单元格队列中,没有可以重复使用的单元格,则创建新的单元格。新的单元格具有系统默认的单元格样式,并拥有一个复用标识符。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEzNi8yMDMzZmRlZDQ1OWNkODMzZGVmYzAwNDA3OGI3ZjIzMC5wbmc%3D.png?w=700)
16. 索引路径用来标识单元格在表格中的位置。它有section和row两个属性,前者标识单元格处于第几个段落,后者标识单元格在段落中的第几行。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzIxMS8xZWZjMThiZWI1MjM4ZGFiNjBjZGVlZmNjMTkzNDEwYi5wbmc%3D.png?w=700)
17. 根据当前单元格的行数,从数组中获取对应位置的元素,作为当前单元格的标题文字。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzI3OS9lZWJmYTdiYzU2ODExZDc0OTdhNGFlYTJhYzBmMGViNy5wbmc%3D.png?w=700)
18. 返回设置好的单元格对象。然后点击[编译并运行]按钮,启动模拟器预览项目。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzMyOS81MzAwMzRhYzc0M2U2OTRhYmQyZTZlNmVmNmYwMzZlMS5wbmc%3D.png?w=700)
19. 在弹出的模拟器中,观察表格的内容,然后点击[停止]按钮,关闭模拟器,并结束本节课程。
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzkwNC82ZDc2YzNhNmMwYWU4NDUzYWY1ZDZkMmU4YmU3MDY4OC5wbmc%3D.png?w=700)
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzcyMS9kNDk0OTU0MGZiOTE0NDM0MmIwNDMzOGVkOWUzN2YyOS5wbmc%3D.png?w=700)
本文整理自:《互动教程 for Xcode9 & Swift4》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1063100471,或扫描本页底部的二维码。课程配套素材下载地址:资料下载
![5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程] 5.4 设置UITableView单元格数据源 [原创iOS开发-Xcode教程]](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzcyOS8xNGU0MWY5N2I2ZDRiNTFmN2JjMTEwODFlMmEwZTEwMS5wbmc%3D.png?w=700)