首页 > 代码库 > UI基础(四)之tableView
UI基础(四)之tableView
---恢复内容开始---
1.Cell的重用机制:
如下图所示:我们在写tableview的数据源方法的时候,在第三个方法中通常会碰到定义重用cell的三步骤
#pragma mark -- 数据源方法 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.dataArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //1.定义重用标识符 static NSString *identifier = @"cellID"; //2.根据重用标识符去缓存区中查找重用cell UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; //3.判断是否有重用cell if (!cell) { cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier]; } return cell; }
cell重用机制:如上图:最开始的时候,tableview是没有任何cell,此时缓存区也没有重用的cell,数据源方法会走(
//2.根据重用标识符去缓存区中查找重用cell
)这个方法,显然是找不到的,那么继续走第三个方法,创建一个cell,仔细看这个方法,是带有重用标识符的,这个方法做了什么呢?
如下图:这个方法给创建好的cell一个重用标识符,然后再走(
cellForRowAtIndexPath
)方法,继续创建,直到创建完成,当我们上下拖动时,就会调用缓存区中的重用cell,从而实现cell的重用.
---恢复内容结束---
UI基础(四)之tableView
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。