Я новичок в разработке приложений для iPhone, поэтому, скорее всего, я делаю что-то не так.
По сути, я загружаю кучу изображений из Интернета, а затем обрезаю их. Мне удалось найти примеры загрузки изображений асинхронно и добавления их в представления. Мне удалось сделать это, добавив изображение с NSData
через NSOperation
, которое было добавлено в NSOperationQueue
.
Затем, поскольку мне приходилось делать большие пальцы фиксированного размера, мне нужен был способ обрезать эти изображения, поэтому я нашел в сети сценарий, который в основном использует UIGraphicsBeginImageContext()
, UIGraphicsGetImageFromCurrentImageContext()
и UIGraphicsEndImageContext()
для рисования обрезанного изображение вместе с неважными расчетами размера.
Дело в том, что метод работает, но, поскольку он генерирует около 20 таких изображений, он случайным образом падает после создания нескольких из них, а иногда и после того, как я закрываю и заново открываю приложение еще один или два раза.
Что мне делать в этих случаях? Я также пытался заставить эти методы работать асинхронно с NSOperations
и NSOperationQueue
, но безуспешно.
Если код обрезки более актуален, чем я думаю, вот он:
UIGraphicsBeginImageContext(CGSizeMake(50, 50));
CGRect thumbnailRect = CGRectZero;
thumbnailRect.origin = CGPointMake(0.0,0.0); //this is actually generated
// based on the sourceImage size
thumbnailRect.size.width = 50;
thumbnailRect.size.height = 50;
[sourceImage drawInRect:thumbnailRect];
newImage = UIGraphicsGetImageFromCurrentImageContext();
Спасибо!