13.1.2 UITableViewDataSource
2025年09月26日
13.1.2 UITableViewDataSource
在View Controller中添加UITableView之后,运行模拟器可以看到一个简单却又无序的tableView,如图13.1.5所示:
图13.1.5 UITableView在模拟器中初次运行
如果要定制UITableView的展示方式,则需要设置Table View下的dataSource属性,这个属性需要一个符合UITableViewDataSource协议的变量。下面我们可以简单地在View Controller中实现这个协议,代码如下:
动手写13.1.1 UITableViewPractise->ViewController.swift
协议中有三个必须实现的方法:
这三个方法为UITableView的渲染提供段(section)数量、每个段中的行数(row)以及每个单元要展示的Cell样式。在没有dataSource之前整个列表内容就是空的,在设置完新的dataSource之后还需要调用reloadData这个方法进行重载数据的操作。
当再次运行模拟器的时候,我们将会发现整个UITableView比之前看起来稍显有序,但还是存在着一些问题,如图13.1.6所示:
图13.1.6 为Table View增加dataSource
因为在Storyboard中,默认创建的Table View有一个Separator的效果,把它置为None就可以去掉分隔线的效果。因此我们只要在Attributes Inspector中将Separator属性改至None(如图13.1.7所示),再次运行之后分隔线就会消失。
图13.1.7 修改Attributes Inspector中的Separator值
最后,使用协议中的三个方法就可以最简单地展示UITableView的单元内容了。