Если у Вас действительно должен быть набор того, если бы тесты и хотят сделать, разные вещи whenwver тест верны, что я рекомендовал бы некоторое время цикл только с IFS - нет еще. Каждый, если делает тест вызовы метод затем, убегает из цикла. Нет еще нет ничего худшего, чем набор сложенного if/else/if/else и т.д.
Вы не можете вернуться из подпрограммы до того, как завершите EndImageContext:
return UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Попробуйте следующее:
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
Вам не нужны закомментированные удержания или автоматические выпуски.
Вместо того, чтобы использовать autorelease
для управления памятью (которая, насколько я знаю, имеет мало или вообще не имеет гарантий о когда память будет освобождена, просто это в конечном итоге разделит вашу строку кода на три части и управляйте памятью самостоятельно. В лучшем случае это может быть все, что необходимо для устранения утечек памяти. По крайней мере, такой инструмент, как Instruments, сможет взять его оттуда и показать вам, откуда генерируются возможные утечки памяти.
Кроме того, [UIImage imageNamed:]
может быть дорогим и автоматически выводить изображение.Вы можете заменить этот вызов относительно простым механизмом кэширования образов, который может повторно использовать часто запрашиваемые образы и повысить производительность при загрузке.