0

我最近切换到“没有 XIB 的编程”并面临自定义 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;

请告诉我我做错了什么。我知道我不能使用自动释放,因为它会导致应用程序崩溃。

4

1 回答 1

2

如果您不使用 ARC,只需添加一个自动释放:

cell = [[[ConditionReportCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease] ;
于 2013-06-13T11:03:41.990 回答