iPhone中的CustomCell Dealloc

时间:2011-03-18 05:45:12

标签: iphone

当我们创建Custom Cell并使用它来dequeueReusableCellWithIdentifier方法时,我们是否可以释放它的对象?会有任何问题吗?

1 个答案:

答案 0 :(得分:2)

我确定你的意思是 - 释放而不是-dealloc - 当然,你不应该自己将-dealloc发送给任何对象。

如果你有一个自定义的UITableViewCell子类,正确的做法是让单元管理它自己的实例变量或属性。所以你的细胞类可能看起来像:

@interface MyCustomCell : UITableViewCell
{
}

@property(copy, nonatomic) NSString *cellData;

@end

然后,在你的表委托的-tableView:cellForRowAtIndexPath:方法中,当你从-dequeueReusableCellWithIdentifier:中获取一个单元格时,你可以说:

cell.cellData = nil;

准备好您的细胞以供下次使用。将cellData属性设置为nil将导致该属性的setter释放其旧字符串。如果您只是将cellData属性设置为其他字符串,这并不是绝对必要的,但我认为在将单元格设置为新行之前将其设置回已知的空状态是一种好习惯。另一种方法是在单元子类中实现-prepareForReuse。