В приведенном ниже коде PersonListArray является NSMutableArray, и я получаю список лиц из базы данных sqlite и добавляю его в свой массив.
Person* tmpPerson = [[Person alloc] init];
tmpPerson.personName = @"Mike";
tmpPerson.personEmail = @"mike@mike.com";
[PersonListArray addObject:tmpPerson];
[tmpPerson release];
Даже если я освобождаю объект Personздесь, это дает утечку памяти, которую я предполагаю, из-за массива, содержащего счетчик ссылок на него.Я использую массив в другом месте программы, а затем выпускаю его наверняка.
Как лучше всего создавать новые объекты для массива и не сталкиваться с этой проблемой?
В deallocметод, где я освобождаю массив
-(void) dealloc{
[PersonListArray release]; // this contains the numerous Person objects
[super dealloc];
}
я должен вместо этого вручную выпустить их как это?
-(void) dealloc{
for (int i = 0; i<PersonListArray.count;i++)
{
Person * tmpPerson = [PersonListArray objectAtIndex:i];
[tmpPerson release];
}
[PersonListArray release];
[super dealloc];
}