В вашем методе dealloc есть две ошибки:
(1) Вы должны поставить [super dealloc]
в качестве последней строки в вашей сделке
Если вы сначала вызовете [super dealloc]
, память, в которой находится ваш объект, будет освобождена (и, возможно, использована чем-то другим). После этого вы не можете использовать членов вашего объекта, они больше не ваши!
(2) Рекомендуется не использовать свойство в методе dealloc. Вы не знаете, что еще это может вызвать (другие объекты могут прослушивать через KVO, подклассы могли бы переопределить установщик, чтобы сделать что-то еще и т. Д.).
Ваш правильный dealloc должен выглядеть так:
- (void)dealloc {
[imageView release];
[super dealloc];
}
Надеюсь, это поможет!