sha*_*jem 19 iphone objective-c
我发现这个方法叫做- (void)prepareForReuse.我阅读了该文档,但我不明白如何使用它.
当我滚动我的tableview,它被卡住,或有慢滚动,我打算使用prepareForReuse.有人可以指点我一个很好的教程或给我一些示例代码,以便我可以学习.
对不起,我没有任何代码来证明我的工作.
Dar*_*ust 18
该prepareForReuse方法由现在不需要的单元格上的拥有表视图调用.你应该在这里为你的自定义单元格进行小的清理,比如重置alpha值等,以便以后可以重复使用它.你不应该自己打电话,BTW.
如果您正在实现自定义表格视图单元格,则只需要关心它:覆盖它以进行清理.
您只需使用重用标识符即可"使用"它tableView:cellForIndexPath::
static NSString *CellIdentifier = @"Identifier";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
[cell autorelease];
// Set up your cell
}
Run Code Online (Sandbox Code Playgroud)
要进一步提高表格视图的性能,请参阅提高iPhone UITableView滚动性能的技巧问题?
msk*_*skw 14
如果自定义单元类中有逻辑可能修改或不修改单元属性,则可以使用它.例如,如果你的表调用你的单元格,但在某些情况下它可以修改背景颜色,但有些情况下它不会并且会使用你设置的默认值,那么你需要实现
-(void)prepareForReuse{
[super prepareForReuse];
// Then Reset here back to default values that you want.
}
Run Code Online (Sandbox Code Playgroud)
否则,如果您的逻辑没有改变它,它可以重用您设置的先前值.