我想要dequeueReusableCellWithIdentifier:kCellIdentifier
的一些精度。如果我了解得很好,那么下面的NSLOG应该只打印一次。但事实并非如此。那么dequeueReusableCell的意义是什么?它仅对自定义单元有效吗?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *kCellIdentifier = @"UITableViewCellStyleSubtitle3";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier];
if (cell == nil)
{
NSLog(@"creation of the cell");
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kCellIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.text = [[self.table objectAtIndex:indexPath.row] objectForKey:kTitleKey];
[cell setBackgroundColor:[UIColor colorWithWhite:1 alpha:0.6]];
return cell;
}
最佳答案
开始在表格 View 上滚动,您应该看到不再显示日志消息。
如果您有一个高度为1000像素的表格 View ,并且每个单元格的高度为100像素,您将看到11次日志消息。
因为11是同时可见的最大单元数。
它是11,而不是10,因为当您向下滚动一点时,将有9个完全可见的单元格和2个仅部分可见的单元格。
关于iphone - 如何使queueReusableCellWithIdentifier出队列: work?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6745114/