我最近切换到“没有XIB编程”,并面临Custom TableView单元的问题。以前使用XIB时,我使用了以下完美的代码,
NSString *CellIdentifier = @"Cell";
AttachmentCustomCell *cell=(AttachmentCustomCell*)[self.attachmenttableview dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil){
NSArray* objects= [[NSBundle mainBundle] loadNibNamed:@"AttachmentCustomCell" owner:nil options:nil];
AttachmentCustomCell *acell = [objects objectAtIndex:0];
cell = acell;
}
但现在我正在使用以下内容,这会给我一个内存泄漏,
static NSString *CellIdentifier = @"Cell";
ConditionReportCustomCell *cell = (ConditionReportCustomCell*)[self.inventoryTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil){
cell = [[ConditionReportCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
}
return cell;
请告诉我我做错了什么。我知道我不能使用autorelease,因为它会导致应用程序崩溃。
答案 0 :(得分:2)
如果您不使用ARC,只需添加自动释放:
cell = [[[ConditionReportCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease] ;