我只是好奇,设置UITableViewCell的自定义backgroundView有什么更好的表现?
选项0)UITableViewCell init方法的子类
@implementation CustomCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier andReleases:(NSArray*)releases {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tablecell.png"]] autorelease];
}
return self;
}
选项1)willDisplayCell委托方法
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tablecell.png"]] autorelease];
}
答案 0 :(得分:4)
在这种情况下,选项0更好,因为您在创建单元格时设置了一次背景,并且每次显示单元格时willDisplayCell
都会设置背景。而且,由于您将重复使用UITableViewCells
,因此您将创建单元格更少的时间,然后您将显示它们。
但要避免过早优化,只有当您觉得性能不够好时才进行优化。