笔者前言:本文章会写出来笔者对UITableView简单的理解,来帮助大家面试。会用自己的语言组织起来,这样面试官会觉的这是你自己的理解而不是网上的死记硬背。
首先介绍tableView属于那个框架继承于谁,tableView属于UI控件它属于UIKit框架,我们能看到显示界面的控件都是来自于UIKit框架。
接下来tableView之所以能够上下滑动它是继承了UIScrollView。大家都知tableView来干嘛的,它就是来展现表格的,类似QQ微信都是tableView来展示的。
UITableView它有两种样式,一种默认样式UITableViewStylePlain和UITableViewStyleGrued根据自己需求来选择,我们要想UITableView展示数据必须要设置UITableView的delegate和DataSource。
我们常用的数据源方法有4个:
返回组:numberOfSectionsInTableView
返回行:numberOfRowsInSection
每一行显示什么:cellForRowAtIndexPath
选中哪一行:didSelectRowAtIndexPath
Cell的属性:
backgroundColor它的优先级低于backgoundView
accessoryType有箭头对勾什么的
UITableViewCell的层级结构:
![](https://img.haomeiwen.com/i2642800/c92b7c8714f5cef0.png)
我们有图可以看出来TableCell有个显示内容的contentView来展示所有cell上的控件,而contentView又于SeparatorView(cell的分割线)同级,它们又同属于TableViewCell这就是一个cell的层级结构。
UITableView的重用机制:
1.定义一个cell的标识为ID
staticNSString*ID =@"mjcell";
2.从缓存池中取出cell
UITableViewCell*cell = [tableViewdequeueReusableCellWithIdentifier:ID];
3.如果缓存池中没有cell
if(cell ==nil) {
cell = [[UITableViewCellalloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
}
4.设置cell的属性...
returncell;
}
网友评论