不明白潜在的泄漏

时间:2012-07-13 17:22:56

标签: ios xcode memory-management memory-leaks

我在xcode中使用了Analyze功能,我已经修复了除此之外的所有内容。

我想知道这究竟意味着“分配对象的潜在泄漏”,它指的是这些行。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

self.type_prod = [[ProductType alloc] initWithNibName:@"ProductType" bundle:[NSBundle mainBundle]];

NSString *prodtitle = [product objectAtIndex:indexPath.row];
    type_prod.prodtitle = prodtitle;

 etc etc.

在这个虚空的最后,我说:

    [[self navigationController] pushViewController:type_prod animated:YES];
[type_prod release];

那么为什么如果我最后发布它会有潜在的泄漏?

1 个答案:

答案 0 :(得分:1)

我假设type_prod是一个保留属性。您需要使用self.type_prod = nil在dealloc方法中释放它。

还要确保在所有情况下都执行最后的释放。立即自动释放它更安全:

self.type_prod = [[[ProductType alloc] initWithNibName:@"ProductType" bundle:[NSBundle mainBundle]] autorelease];