iPhone中的CustomCell解除锁定

iPhone中的CustomCell解除锁定,iphone,Iphone,当我们创建自定义单元格并将其用于将ReuseableCellWithIdentifier方法出列时,是否可以释放其对象?这会有什么问题吗?我确信你的意思是-release而不是-dealloc——当然,你不应该自己向任何对象发送-dealloc 如果您有一个自定义的UITableViewCell子类,那么正确的做法是让单元格管理自己的实例变量或属性。因此,您的单元类可能如下所示: @interface MyCustomCell : UITableViewCell { } @property(c

当我们创建自定义单元格并将其用于将ReuseableCellWithIdentifier方法出列时,是否可以释放其对象?这会有什么问题吗?

我确信你的意思是-release而不是-dealloc——当然,你不应该自己向任何对象发送-dealloc

如果您有一个自定义的UITableViewCell子类,那么正确的做法是让单元格管理自己的实例变量或属性。因此,您的单元类可能如下所示:

@interface MyCustomCell : UITableViewCell
{
}

@property(copy, nonatomic) NSString *cellData;

@end
然后,在表委托的-tableView:cellforrowatinexpath:method中,当您从-dequeueReusableCellWithIdentifier:返回一个单元格时,您可以说:

cell.cellData = nil;

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

-(id)initWithStyle:(UITableViewCellStyle)style-reuseIdentifier:(NSString*)reuseIdentifier{if((self=[super-initWithStyle:style-reuseIdentifier:reuseIdentifier]){}返回self返回self;}-(void)dealloc{[lbltile释放];[lblDetailText释放];[DetailDispositionButton release];[frontImage release];[super dealloc];}在自定义单元格类中,我有dealloc对象。这是否正确?如果没有看到代码,很难说清楚,但通常不会,您不想这样做。