首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用prepareForReuse方法

如何使用prepareForReuse方法
EN

Stack Overflow用户
提问于 2012-02-20 22:26:52
回答 2查看 30.6K关注 0票数 19

我发现了一个名为- (void)prepareForReuse的方法。我read the document,但我不知道如何使用它。

当我滚动我的表视图时,它卡住了,或者滚动很慢,我打算使用prepareForReuse。谁能给我一个好的教程或给我一些示例代码,以便我可以学习。

对不起,我没有任何代码来演示我的工作。

EN

回答 2

Stack Overflow用户

发布于 2012-02-20 22:34:05

prepareForReuse方法由当前不需要的单元格上的所属表视图调用。你应该在这里对你的自定义单元格做一些小的清理,比如重置alpha值等等,这样以后就可以重用它了。你不应该自己叫它,顺便说一句。

如果您正在实现自定义的表格视图单元格,那么您只需要关心它:您可以覆盖它来进行清理。

您只是通过在tableView:cellForIndexPath:中使用重用标识符来“使用”它

代码语言:javascript
复制
static NSString *CellIdentifier = @"Identifier";

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:CellIdentifier];
    [cell autorelease];
    // Set up your cell
}

要进一步提高表视图性能,请参阅问题Tricks for improving iPhone UITableView scrolling performance?

票数 19
EN

Stack Overflow用户

发布于 2014-06-18 00:41:40

如果您的自定义单元格类中有可能修改或不可能修改单元格属性的逻辑,则可以使用它。例如,如果您的表调用您的单元格,但在某些情况下,它可以修改背景颜色,但在某些情况下,它不会并且将使用您设置的默认值,那么您需要实现

代码语言:javascript
复制
-(void)prepareForReuse{
    [super prepareForReuse];

    // Then Reset here back to default values that you want.
}

否则,如果您的逻辑没有更改它,它可能会重用您之前设置的值。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9362713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档