NSArray内存泄漏!无法得到为什么?

时间:2010-10-13 06:12:40

标签: iphone cocoa memory-management memory-leaks nsarray

嗨我在仪器中发现以下代码行的内存泄漏。

 NSArray *itemsList=[[NSArray alloc] initWithObjects:@"Love",
     @"Hate",@"Happy",@"Sad",
     @"Desire",@"Anger",@"Hope",@"Fear",@"Silly",nil];

我使用以下代码: arrayList也在dealloc块中发布。

NSArray *itemsList=[[NSArray alloc] initWithObjects:@"Love",@"Hate",
    @"Happy",@"Sad",@"Desire",
    @"Anger",@"Hope",@"Fear",@"Silly",nil];
self.arrayList=itemsList;
[itemsList release];

1 个答案:

答案 0 :(得分:1)

我假设在arrayList语句中使用retain声明了@property。如果没有,那肯定是你的问题。

如果是,那么您有泄漏,但在您发布的代码中没有。重要的是要意识到仪器首先不一定显示泄漏发生的位置,而是分配泄漏的内存。您将查看对arrayList的其余用法,并找到保留缺少版本的位置。

如果单击Instruments中对象的内存地址旁边的箭头,您应该能够看到保留和释放对象的所有位置。您将查看它们并确定哪个保留缺少版本。