【发布时间】:2011-04-23 18:51:57
【问题描述】:
好的...大家好,我无法解决这个问题。我的代码中有大量泄漏,我不知道为什么。
首先你应该知道,这段代码是在后台运行的,所以我为它创建了一个自动释放池。好吧,说实话,MBprogressHUD 对我有用。
代码有效,但 Instruments 说我在创建(alloc/init) diccionario、创建临时数组、创建 temporalMutable 数组等方面存在一些漏洞。几乎所有执行 alloc/autorelease 的代码都会得到一个泄漏。
有什么想法吗?
// Some more code at the beginning
NSMutableDictionary *diccionario=[[NSMutableDictionary alloc] init];
for (Horas *hora in [dia oraciones]) {
if ([diccionario objectForKey:[hora Tipo]]==nil)
{
NSArray *temporal=[NSArray arrayWithObjects:[hora Hora],[hora Texto], nil];
NSMutableArray *temporalMutable=[NSMutableArray arrayWithObjects:temporal, nil];
[diccionario setObject:temporalMutable forKey:[hora Tipo]];
}
else
{
NSMutableArray *nuevo=[diccionario objectForKey:[hora Tipo]];
NSArray *temporal=[NSArray arrayWithObjects:[hora Hora],[hora Texto], nil];
[nuevo addObject:temporal];
[diccionario setObject:nuevo
forKey:[hora Tipo]];
}
}
MyClass *resultado=[[[MyClass alloc] initSinDescarga:fecha tituloDia:[dia titulo] celebracionDia:[dia celebracion] oracionesDia:diccionario] autorelease];
[diccionario release];
return resultado;
}
【问题讨论】:
-
你真的应该用英文写你的代码......
-
只有几个变量名...不会有什么坏处的 ;)
标签: objective-c memory-leaks nsmutablearray for-in-loop