我有一个 NSMutableDictionary ,其键是对象名称的第一个字母。该视图类似于 iphone 上的“联系人”选项卡。此外,用户可以在列表中选择单个对象。
在代码中,我找到每个选定的对象以进一步处理它们。
NSMutableArray *objectsToAdd = [[NSMutableArray alloc] init];
NSMutableArray *array = nil;
for (NSString *key in self.nameIndex) {
array = (NSMutableArray *)[searchedNameDictionary valueForKey:key];
for (Objects *eachObject in array) {
if (eachObject.objectIsSelected){
[objectsToAdd addObject:eachObject];
}
}
}
[array release];
-(void)dealloc()
{
[searchedNameDictionary release];
}
该应用程序在我释放 searchedNameDictionary 的地方崩溃,并显示正在引用已释放对象的消息。
现在,如果在上面的代码中,我删除 [array release] 应用程序工作正常。
我的问题是释放“数组”实际上是否释放了 searchedNameDictionary 中的对象,这似乎正在发生。
不释放数组会导致内存泄漏吗?