美文网首页iOS Foundations牛叉的demoiOS Developer
iOS面试之谈谈你对UITableView的理解

iOS面试之谈谈你对UITableView的理解

作者: 提莫酱T | 来源:发表于2017-06-15 10:54 被阅读58次

笔者前言:本文章会写出来笔者对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的层级结构:

我们有图可以看出来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;

}

相关文章

网友评论

    本文标题:iOS面试之谈谈你对UITableView的理解

    本文链接:https://www.haomeiwen.com/subject/uweyqxtx.html