何时在重新加载表数据后释放行?

时间:2011-07-08 14:56:43

标签: iphone

下面的方法有效,但我不知道什么时候应该释放rowdata。

-(void)refreshTable:(NSMutableArray *) tbdata{
    rowdata=[tbdata retain];
    [tabledata reloadData];
}

以下版本会导致错误:

-(void)refreshTable:(NSMutableArray *) tbdata{
    rowdata=[[tbdata retain] autorelease];
    [tabledata reloadData];

}

以下版本如下:

-(void)refreshTable:(NSMutableArray *) tbdata{
    rowdata=[tbdata retain];
    [tabledata reloadData];
    [rowdata release] 
}

什么时候应该发布rowdata?

1 个答案:

答案 0 :(得分:1)

    UITableViewCell *cell = [self.tableview dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) 
{
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

}

如果你像这样创建了这个单元格,那么那些是自动释放的,同时向上/向下滚动(隐藏单元格)

这是出于表现原因。

所以不要担心那些

在firstLine中,如果带有标识符的单元格存在于内存中,那么当您重新加载表格时,它将显示它们。

如果不是,那么它将为他们创建新的