Das Leaks-Instrument löst bei einigen Codes einen Alarm aus, aber ich weiß nicht, wie ich das Leck beheben soll, ohne die App zu beschädigen. Hier ist ein Code, mein Ansatz zusammenfassen, einige Zeit geschrieben vor und klar in der Notwendigkeit des Umdenkens:Wie kann ich mit einem Subview-Speicherleck umgehen?
labels = [[NSMutableArray alloc] init];
for(int i = 0; i < 10; i++) {
// calculate x and y...
label = [[UILabel alloc] initWithFrame:CGRectMake(x, y, 70, 15)];
// customize label...
[labels addObject:label];
[label release];
[self addSubview:[labels objectAtIndex:i]];
}
Warum mit den Etiketten stören NSMutableArray? Später, in anderen Verfahren, muss ich die Alpha der Etiketten ändern, und es ist praktisch der Lage sein, zu sagen,
[[labels objectAtIndex:num] setAlpha:0.5];
Ich glaube, das Leck tritt auf, weil Etiketten nicht während der normalen App Lifecycle dealloc'ed Bekommt , nur wenn die Superview beim Beenden deaktiviert wird.
Hilfe!
Danke.
ich weiter ging sogar als dieser Ansatz - beschlossen, nicht mit einem Etiketten-Array zu stören und nur hinzugefügt Label als Subview mit dem Tag = 100 + i, veröffentlichte es dann, in jeder Iteration der Schleife. – ed94133