开篇:因为某些原因和朋友讨论到,tableView在不同的iOS版本中,调用的先后顺序有所不同。特此,我利用相同的代码,在三种版本的模拟器中运行,果然得出了一些特定的规律。
我设置的数据源有1个section、30行,屏幕完全显示为22行。
iOS11.0
1 | numberOfSectionsInTableView |
iOS9.0、iOS10.0
1 | 这些方法一共调用三次,顺序和此列表显示一样 |
1 | 注: |
结语:iOS11.0之后对tableview的数据源调用有了很大改变,节省了很多调用成本。更加合理规范化。
所以如果有同学在获取不到数据源等等问题时,可以考虑本文所写的调用顺序,从而查找原因。