Приложение для iPad, которое я разрабатываю, покажет полноэкранный режим UIScrollView
, позволяющий пользователю пролистывать большое количество (200 или более) изображений - все одного размера, без подкачки страниц.Изображения должны быть загружены из Интернета и не имеют предопределенного порядка.Прямо сейчас я делаю
- Я загружаю и анализирую XML-ленту, которая содержит ссылки на загружаемые изображения, а также метаданные, которые я показываю на оборотной стороне.Я храню все это в отдельных объектах, которые управляют видом спереди и сзади и переключаются между ними.
- Представления созданных объектов помещаются в UIScrollView в сетке, сначала показывая изображение заполнителя.
- Как только URL-адрес изображения установлен в объекте, он извлекает само изображение, используя `NSURLConnection`.Когда изображение полностью загружено, оно заменяет заполнитель изображения.
Это работает достаточно хорошо для ограниченного числа объектов (даже если пользовательский интерфейс иногда не отвечает), но не масштабируется.Приложение вылетает, когда я загружаю более 60-70 пользовательских контроллеров представления.Большинство из них, конечно, за кадром - изображения размером 280x280, поэтому в любой момент времени будут видны только 12 изображений.
Полагаю, мне нужно найти способ продолжать загружать данные в фоновом режиме, но управлять только теми представлениями, которые фактически находятся (или близки) в видимом экстенте UIScrollView
.Нужно ли использовать Core Data для управления этим?Если бы вы справились с подобной задачей, я бы хотел услышать, как вы ее решили - я думаю, это довольно распространенная проблема.