我在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];
那么为什么如果我最后发布它会有潜在的泄漏?
答案 0 :(得分:1)
我假设type_prod是一个保留属性。您需要使用self.type_prod = nil
在dealloc方法中释放它。
还要确保在所有情况下都执行最后的释放。立即自动释放它更安全:
self.type_prod = [[[ProductType alloc] initWithNibName:@"ProductType" bundle:[NSBundle mainBundle]] autorelease];