У меня есть класс flipView, который я выделяю и запускаю. Но, когда я его выпускаю, приложение падает. Если я его не выпущу, приложение работает нормально, так что кажется. Сообщение об ошибке, которое я получаю, когда я его освобождаю:Выпущенные объекты сбой App - проблема с управлением памятью alloc/init
Malloc - ошибка для объекта: освобожден указатель объекта, не был выделен.
Если бы вы могли мне помочь, я был бы вам признателен.
- (IBAction)showInfo {
FlippedProduceView *flippedView = [[FlippedProduceView alloc]initWithIndexPath:index];
flippedView.flipDelegate = self;
flippedView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:flippedView animated:YES];
//[flippedView release]; //******** Maybe A Memory Leak *********\\
}
Спасибо fbrereto за ответ на мой вопрос. Я полный новичок и работаю над своим первым приложением. Я почти закончил, но эта проблема удерживает меня. Я не понимаю, как бы я закодировал выражение, которое вы упомянули. Было бы так: FlippedProduceView * fView = [[FlippedProduceView alloc] initWithIndexPath: index]; [fView сохранить]; fView.flipDelegate = self; fView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentModalViewController: fView animated: YES]; NSLog (@ "Сохранять счетчик fView:% d", [fView retainCount]); [fView release]; –
В порядке, не так ли? [self presentModalViewController: [fView сохранить] анимированный: ДА]; –
Внутри 'presentModalViewController' вы бы назвали' keep' на получаемом вами представлении. Вам не нужно будет вызывать 'keep' в' showInfo', поскольку фаза alloc/init делает это автоматически для вас. Затем вы можете вызывать 'release' из' showInfo', и объект все равно будет существовать, потому что он был сохранен 'presentModalViewController'. – fbrereto