Ваш emails
объект, вероятно, был автоматически выпущен, когда вы не искали. Заменить строку:
emails = [NSMutableArray arrayWithCapacity: emailCount];
с:
[emails release];
emails = [[NSMutableArray alloc] initWithCapacity:emailCount];
, чтобы emails
не выпускался автоматически. ( Помните , у вас есть все, что возвращается init
, но объекты, возвращаемые удобными конструкторами, такими как arrayWithCapacity:
, автоматически освобождаются.)
Лучшим решением 1016 * является объявление свойства:
@property (retain) NSMutableArray* emails;
и затем используйте:
[self setEmails:[NSMutableArray arrayWithCapacity: emailCount]];
Этот второй метод, использующий свойство, действительно лучший, потому что он более гибкий и понятный. Таким образом, методы доступа к свойству (которые вы создаете с помощью @synthesize
) будут обрабатывать для вас вызов retain
.