iOS开发中的tableviewcell的重用机制如何理解?如何使用?
发布网友
发布时间:2022-04-30 02:07
我来回答
共3个回答
热心网友
时间:2023-10-03 05:43
重用机制 简单的说 意思 一行一行 的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;
}
热心网友
时间:2023-10-03 05:43
你可以理解为古代的水车(圆的那种),屏幕可以显示出来的区域就是水车的右半部分。不需要重复创建新的,而是重用已经从页面消失的那部分
热心网友
时间:2023-10-03 05:44
http://no001.blog.51cto.com/1142339/637651