UITableView基本上是工作中最常用坑最多的一个控件了。因为项目需求。用UITableView搭建过几个负责的界面。碰到过很多坑。其实说到底还是基础知识掌握不牢固。所以今天把代理方法的执行顺序打印出来。
稍微做了一下去重处理,顺序大概是这样的
-[ViewController tableView:heightForHeaderInSection:] // 如果你的UITableView有header或者footer,这第一个执行的方法,如果这个方法里面有用到数据源,一定要判断是否为空。
-[ViewController tableView:heightForFooterInSection:]
-[ViewController tableView:numberOfRowsInSection:] // 一直以为这是第一个,但仅仅是没有header或者footer的情况下。
-[ViewController tableView:cellForRowAtIndexPath:]
-[ViewController tableView:viewForHeaderInSection:]
-[ViewController tableView:viewForFooterInSection:]