Разработка асинхронной процедуры загрузки и отображения изображений - PullRequest
1 голос
/ 29 октября 2011

У меня есть фид JSON, который содержит URL-адреса для изображений. Я использую NSURLConnection для загрузки фида JSON и извлечения URL. Я хочу скачать все изображения асинхронно. Я вложил в подкласс UIImage и отправил этому классу URL-адрес, который он загружает, по одному изображению за раз в асинхронном режиме.

Во-первых, это хороший способ сделать это? Во-вторых, я хотел бы показать четыре изображения одновременно. Разве я не должен загружать каждый набор из четырех вместо того, чтобы скачивать один за другим?

Мое второе беспокойство в том, что у меня есть два NSURLConnection с. Это, наверное, плохо. Должен ли я использовать тот же NSURLConnection для загрузки канала JSON и в то же время получить изображение?

Я пытаюсь отобразить четыре изображения одновременно, с помощью следующей кнопки, которая отображает следующие четыре изображения на следующей строке.

1 Ответ

0 голосов
/ 29 октября 2011

Я не уверен, что ожидается подкласс UIImage.Если вам нужна хорошая практика проектирования, вам следует взглянуть на пример кода TopPaid от Apple, который показывает, как правильно загрузить фид, а затем асинхронно загружать изображения.Внимательно посмотрите на класс IconDownloader из этого проекта, который является классом, обрабатывающим загрузку изображений и уведомляющим его делегата о его завершении.

Насколько я знаю, нет проблем с наличием нескольких соединений NSURLC одновременно.Вы можете столкнуться с проблемами, если количество подключений станет очень большим, потому что это может насытить количество дескрипторов открытых файлов, разрешенных на iPhone, или, скорее, создать предупреждение о памяти.В вашем случае, если у вас есть только 2 соединения, у вас нет никаких проблем.

...