Dans le code ci-dessous, PersonListArray est un NSMutableArray et j'obtiens la liste des personnes de la DB sqlite et je l'ajoute à mon tableau.fuite de mémoire lors de l'ajout d'objets à nsarray
Person* tmpPerson = [[Person alloc] init];
tmpPerson.personName = @"Mike";
tmpPerson.personEmail = @"[email protected]";
[PersonListArray addObject:tmpPerson];
[tmpPerson release];
Même si je suis libérer l'objet Personne ici, son donnant une fuite de mémoire que je devine est dû au tableau contenant un nombre de référence. J'utilise le tableau ailleurs dans le programme et je le libère à coup sûr.
Quelle est la meilleure pratique pour créer de nouveaux objets pour un tableau et ne pas rencontrer ce problème?
Dans la méthode dealloc où je libère le tableau
-(void) dealloc{
[PersonListArray release]; // this contains the numerous Person objects
[super dealloc];
}
dois-je les libérer manuellement comme celui-ci à la place?
-(void) dealloc{
for (int i = 0; i<PersonListArray.count;i++)
{
Person * tmpPerson = [PersonListArray objectAtIndex:i];
[tmpPerson release];
}
[PersonListArray release];
[super dealloc];
}
Voici encore du code pour obtenir une meilleure image ... @interface Personne: NSObject { \t NSString * personName; \t NSString * personMobile; \t NSString * personEmail; \t } @property (nonatomic, retain) NSString * nomPersonne, * personEmail, * personMobile; – ArdenDev