如果未发布UITableViewCell会发生什么?

时间:2010-07-22 15:55:01

标签: iphone objective-c cocoa-touch uitableview memory-management

如果从

中的单元格创建中删除自动释放,会发生什么
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {    

STVCell *cell = (STVCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[STVCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        }
}

2 个答案:

答案 0 :(得分:4)

这将导致内存泄漏。

由于您致电alloc,您还有责任致电release(或本案例为autorelease)。

UITableView将在适当的时候自动保留单元格并释放其对单元格的使用,但除非您的代码也释放它所持有的引用,否则单元格永远不会被释放。

答案 1 :(得分:1)

无。这是一件坏事:电池永远不会被释放并成为内存泄漏。