1

我是初学者,在 Xcode 上运行“分析”后,我在这里发现了这个警告:

IphoneFeatureImageDetailViewController *img = [[IphoneFeatureImageDetailViewController alloc] initWithNibName:@"IphoneFeatureImageDetailViewController" bundle:nil];    
img.imagesArray = [heroArray copy];
img.index = imgButton.tag; // AT THIS LINE IT SAYS POTENTIAL MEMORY LEAK
[self.navigationController pushViewController:img animated:YES];
[img release];

请指出我正确的方向!

4

1 回答 1

9

分析命令通常会在问题之后标记该行,因为这是代码中它知道发生泄漏的点。在你的情况下,它可能imagesArray是它正在报告的。如果这是一个retain属性,那么将有一个保留用于copy分配,另一个用于分配,这比需要的要多。

我猜测...

img.imagesArray = [[heroArray copy] autorelease];

...会清除它。或者你可以切换到 ARC,整个问题就会消失。:)

于 2012-12-01T13:38:47.807 回答