In meiner iPad App,Wann dynamisch erstellte Objekte freigegeben werden sollen
Ich habe eine benutzerdefinierte Klasse von UIButton geerbt.
Ich füge die Schaltflächen in meiner Hauptansicht dynamisch mit For-Schleife.
Diese Schaltfläche hat auch Label.
Mein Problem ist, wenn die Objekte der benutzerdefinierten Klasse freigegeben werden.
for(NSMutableDictionary *dict in Categories)
{
Category *category=[[Category alloc] initWithName:[dict valueForKey:@"category_name"] identity:[[dict valueForKey:@"category_id"] intValue] imageName:nil];
category.lblimagesCount=[[UILabel alloc] initWithFrame:CGRectMake(category.frame.size.width-31, category.frame.origin.y-42, 26, 26)];
[category addSubview:category.lblimagesCount];
[self.viewHeader addSubview:category];
[category release];
category=nil;
}
Wie Speicherlecks zu vermeiden. Speziell für 1. Etiketten 2. Kategorie Klasse.
Wo soll ich schreiben?
i. Die Kategorieklasse (UIButton) hat ihre Dealloc-Methode, wird aber nie aufgerufen.
ii. Da ich es sofort nach dem Hinzufügen zur Unteransicht freigebe, beeinflusst es meinen Klick auf die Schaltfläche.
iii. Wann sollte ich die Etiketten freigeben?
Sehr verwirrt über die Speicherverwaltung.
@Antoonio Wie wird das Label im Zusammenhang mit Kategorie-Klasse veröffentlicht? –
Weil Antonio, wenn ich die Etiketten nach dem Hinzufügen zu den Unteransichten freizugeben, kann ich es nicht weiter im Code ändern. Da Labels die Änderungen nicht widerspiegeln. –
Wie ich schon gelesen habe, wenn Sie subview hinzufügen Ihre Ansicht gehört Subview nicht die gesamten Eigenschaften Ihres Objekts? –