NSURLConnection и изображения скачать вопрос - PullRequest
0 голосов
/ 16 июня 2011

У меня есть фид JSON с 350 записями. Я использовал NSURLConnection, чтобы загрузить их при запуске из канала. Каждый элемент в ленте имеет URL-адрес изображения. Мне нужно скачать эскиз изображения для многих из этих каналов. Это очень похоже на то, что будет делать клиент Twitter (так как я также отображаю их в виде таблицы). Когда я использую обычный UIImage = [UIImage alloc] initWithData и т.д ... Это будет длиться вечно. Кроме того, поскольку ячейки таблицы загружаются при прокрутке, прокрутка вниз при загрузке изображений приведет к тому, что приложение загрузит изображения и приведет к ужасному взаимодействию с пользователем (а также к задержке).

Какие альтернативы вы предлагаете? Я использую NSURLConnection в приложении: didFinishLaunch. Должен ли я реализовать это еще раз в контроллере представления этого класса табличного представления?

Любые предложения / рекомендации приветствуются.

Спасибо,

Ответы [ 4 ]

2 голосов
/ 16 июня 2011

Поскольку у вас есть URL-адрес изображений, вы можете использовать TCWebImageView для загрузки и кэшировать (в файловой системе) изображения по запросу.

https://github.com/totocaster/TCWebImageView

, кстати, хороший и простой асинхронный компонент изображения.

РЕДАКТИРОВАТЬ:

Еще одна хорошая библиотека, на которую стоит взглянуть, это ASIHTTPRequest ASINetworkQueue (который является хорошим подклассом NSOperationQueue) и делает его очень простым и надежным способом выполнения загрузки (более 350 элементов).

РЕДАКТИРОВАТЬ 2:

Существует еще одно хорошее решение.внутри библиотеки AFNetworking , которая является AFImageRequestOperation , где вы можете легко использовать ее категорию UIImageView без необходимости создавать подклассы или управлять очередью загрузки.

1 голос
/ 16 июня 2011

Для загрузки изображений необходимо использовать асинхронную загрузку изображений, и это не будет мешать потоку другого кода, в то время как изображения будут загружаться со временем.Вы можете получить помощь от http://code.google.com/p/iphone-lib/wiki/AsyncImageView.

0 голосов
/ 16 июня 2011

Вы говорите

Это очень похоже на то, что твиттер клиент будет делать

и

Кроме того, поскольку ячейки таблицы загружаются как I прокрутка, прокрутка вниз при загрузке изображения приведут к загрузке приложения изображения и ужасный пользователь опыт (а также отставание).

У меня установлены Twitterrific, Twitter и TweetDeck, и это именно то, что они делают (т.е. загружают изображения, когда они становятся видимыми при прокрутке пользователя). Очевидно, что каждое изображение, если его использовать более одного раза (как это, вероятно, было бы на временной шкале в твиттере), будет загружено только один раз и кэшировано.

0 голосов
/ 16 июня 2011

Пользователи намного счастливее с быстрым запуском.

Я бы посоветовал поместить изображения в ваше приложение, размер, вероятно, будет разумным.

...