我的代碼如下。iPhone - 釋放內存問題 - 內存泄漏
- (void)viewDidLoad
{
NSArray* myarr = [self createArray];
for (NSString* str in myarr)
{
NSLog(@"%@",str);
}
[myarr release];
}
-(NSArray*)createArray
{
NSArray* arr1 = [[NSArray alloc] initWithObjects:@"APPLE",@"MAC",@"IPHONE",nil];
return arr1;
}
當我 「建設&分析」,它顯示了兩個泄漏。一位在[myarr發佈]中說,此時擁有的對象的引用計數不正確減少。和其他在返回arr1,說,在線152上分配的對象的潛在泄漏,並存儲到arr1。
從我上面的代碼中,方法「createArray」返回一個指針,我也發佈它。我的編碼方式是對還是錯?
他的代碼沒有任何泄漏。靜態分析器不夠智能來實現這一點。您提供的代碼不必要地創建兩個數組。 – imaginaryboy 2011-03-22 05:36:41