#objective-c #ios #cocoa-touch #asynchronous #nsurlconnection
#objective-c #iOS #прикосновение какао #асинхронный #nsurlconnection
Вопрос:
У меня есть канал JSON, который содержит URL-адреса для изображений. Я использую NSURLConnection
для загрузки файла JSON извлечение URL-адресов. Я хочу загружать все изображения асинхронно. Я выделил подкласс UIImage
и отправил этому классу URL-адрес, который он загружает, по одному изображению за раз, асинхронным образом.
Во-первых, это хороший способ сделать это? Во-вторых, я хотел бы показать четыре изображения одновременно. Разве я не должен загружать каждый набор из четырех вместе, а не загружать один за другим?
Моя вторая проблема заключается в том, что у меня есть два NSURLConnection
с. Это, вероятно, плохо. Должен ли я использовать то же NSURLConnection
самое, чтобы загрузить JSON-канал и в то же время получить изображение?
Я пытаюсь отобразить четыре изображения одновременно, с помощью кнопки next, которая отображает следующие четыре в следующей строке.
Комментарии:
1. Я написал это сегодня на работе для загрузки и обновления объявлений. Жаль, что у меня нет перед глазами кода, который мог бы дать вам какие-либо указания.
2. Любые советы / предложения по дизайну? Мне действительно не нужен код — просто помощь в принятии проектных решений.
Ответ №1:
Я не уверен, что UIImage должен быть подклассом. Если вам нужна хорошая практика проектирования, вам следует взглянуть на пример кода TopPaid от Apple, поскольку он показывает, как правильно загружать канал, а затем асинхронно загружать изображения. Внимательно посмотрите на IconDownloader
класс из этого проекта, который представляет собой класс, обрабатывающий загрузку изображений и уведомляющий своего делегата о завершении.