わかりました...こんにちは皆さん、私はこれを解決できませんでした。コード内に大量のリークがあり、その理由がわかりません。
最初に知っておくべきことは、このコードはバックグラウンドで実行されているため、自動解放プールを作成することです。正直なところ、MBprogressHUD が役に立ちます。
コードは機能しますが、Instruments によると、diccionario の作成 (alloc/init)、temporal 配列の作成、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;
}