[UIImage imageNamed: (NSString *) imageName] - это удобный вспомогательный конструктор.Это означает, что его счетчик хранения увеличивается при инициализации и уменьшается в конце цикла выполнения.Вы можете сделать 100 из них, и они исчезнут из памяти через несколько секунд, если они не будут сохранены чем-то другим.Передав его в UIImageView, UIImageView сохранит его и останется в памяти только до тех пор, пока с ним не будет покончено UIImageView, так что вы делаете это правильно, если только вы не обращаетесь к ОС, кэширующей изображение в «неактивном»БАРАН.Он может делать это за кадром (и будет знать, когда от него избавиться), но вы, безусловно, правильно обрабатываете жизненный цикл объекта.Поскольку вы используете [[Class alloc] init ...] способ создания вашего UIImageView, убедитесь, что вы позже вызовете [mooshinLogo release] или [mooshinLogo autorelease].
(Пожалуйста, игнорируйте это, если выуже знаю.) Objective-C (по крайней мере, для разработки под iOS) является языком подсчета ссылок.Все объекты начинаются с счетчика ссылок или сохраняют счет 1, начиная с момента их выделения.Оттуда они могут быть сохранены ([id retain]), освобождены ([id release]) или помечены для освобождения в конце цикла запуска ([id autorelease]).Как только счет станет равным нулю, он будет освобожден, но вы никогда не должны беспокоиться о его фактическом количестве и использовать только те объекты, которыми владеете (или сохраняете).
Если вы сомневаетесь, вы можете проверить с помощьюСтатический анализатор Clang.Он находит, вероятно, 75% ваших утечек, и у меня было только несколько ложных срабатываний.Либо Build & Analyze, либо Cmd + Shift + B.