tableView的cell复用优化

2017-03-15  本文已影响0人  上帝死了众神在堕落

UITableView是iOS中重要的控件,UITableView继承自UIScrollView,支持垂直滚动,而且性能极好,UITableViewCell可以复用。
cell的重用

static NSString *reuseID = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseID]; 
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseID];
 }

1、给cell做个标记,当cell出屏幕(不用之后)把cell对象,存储在特定标示的缓存池,当tableView加载下一个数据的时候,从缓存池中取出 空闲的标记cell。
2、如果缓存池中有空余的cell,会重新配置这个cell数据。给tableView显示。如果没有空余的cell,就重新创建。
在iOS开发中,如果tableViewCell是变化的,复用cell会引起的视图重叠。
解决方法:

for(UIView *view in [cell subviews]){
    [view removeFromSuperview];
 }
或
static NSString *reuseID = @"cell";
UITableViewCell * cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseID];
上一篇下一篇

猜你喜欢

热点阅读