【iPhone Development】UItableview 的使用心得

来源:互联网 发布:科技大数据分析宣传片 编辑:程序博客网 时间:2024/05/02 20:20

UItableView继承自UIScrollview,说白了其实就是个scroll,苹果为我们封装好的一个基于scroll的控件,里面主要是UITableViewcell,也就是一个个的小白条,高度可以设置,当然也可以自定义类继承他,避免重复的写很多东西,设置好delegate和dataSource后,在代理方法里面完成各种设定.

 

方法.- (UITableViewCell*)dequeueReusableCellWithIdentifier:(NSString*)identifier的理解

此方法可以从所有已经开辟内存的cells里面,dequeue出一个以identifier为标识的cell,个人理解。

其实这就是一种重用机制吧,避免浪费,这里可能大家遇到过一些问题,在cell上放着不同的内容,当向下拉动tableview的时候,显示出的cell居然是前面显示过的,这里其实是identifier的问题,一般都把identifier设置成一个静态字符变量,所有cell都使用的这个标识开辟,所以根据这个标识 dequeue出来的cell有可能是以前用过的cell,但是上面的内容不同,而你又忘了重新设置新的值,所以导致刷出来的cell是是之前的cell。

这种情况可以每次在代理函数里面重新设置下cell上的内容处理,但是如果每个cell的造型都不一样,而且有很大区别,比如cell的高度都不一样,如果用同一个标识dequeue出来就会有问题,那怎么处理?

当然大家应该想到了,把每一个cell都设置唯一的一个identifier,这样从cells里dequeue出来的cell就是唯一的,而且上面的值会保留,唯一的缺点就是每个cell都要开辟一个内存.

 

iPhone 移动应用开发

iOS 开发人员

原创粉丝点击