iOS开发中的tableviewcell的重用机制如何理解?如何使用?

 我来答
wang209130
推荐于2016-10-23 · TA获得超过268个赞
知道答主
回答量:105
采纳率:0%
帮助的人:41.9万
展开全部
重用机制 简单的说 意思 一行一行 的cell 都是在复用的, 滑动 tableview 的时候,刚离开视图的 cell 会被放到复用池 中,等下一个 cell需要 显示时,会先看复用池中有没有 cell 如果有的时候 ,就从复用池中拿出来cell ,没有的话就重新创建cell

大概就是这几句代码
static NSString *cellName = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellName];
if(cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellName] autorelease];
}

下面是使用。。。people 是另外就个类里的对象,就是一个 数组 里面 取东西, 很好理解的。。。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellName = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellName];
if(cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellName] autorelease];
}
cell.textLabel.text = ((People *)[[_dataArray objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]).peopleName;
cell.detailTextLabel.text = [NSString stringWithFormat:@"%d",((People *)[[_dataArray objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]).peopleAge];
return cell;
}
匿名用户
2014-03-14
展开全部
你可以理解为古代的水车(圆的那种),屏幕可以显示出来的区域就是水车的右半部分。不需要重复创建新的,而是重用已经从页面消失的那部分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神奇的芋頭
2014-03-25 · 超过20用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:37.7万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式