Добавление изображений асинхронно - ASIHTTPRequest - PullRequest
2 голосов
/ 28 января 2012

Я использую ASIHTTPRequest. У меня следующие проблемы при использовании ASIHTTPRequest.

1.) Мне нужно добавить изображения к UITableView (для каждой ячейки) asynchronously. Как я могу это сделать?

2.) Мне нужно добавить изображение к UIViewController Asynchronously. (Не для ячейки, а только для UIImageView, который находится на UIViewController).

Может кто-нибудь помочь мне с примером кода, Примером или Учебным пособием для начала?

Ответы [ 3 ]

6 голосов
/ 28 января 2012

Нет необходимости вводить зависимость для целого фреймворка, такого как ASIHTTPRequest, просто для загрузки одного изображения, когда вы можете сделать это несколькими простыми строками кода с использованием GCD:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData *imageDate = [NSData dataWithContentsOfURL:imageURL];
    UIImage *image = [UIImage imageWithData:imageData];
    dispatch_async(dispatch_get_main_queue(), ^{
        avatar.image = image;
    });
});

Это асинхроннои все добро.Но в нескольких строках кода вы можете писать, понимать, исправлять ошибки, расширять и поддерживать себя.

Но в случае, если вы хотите использовать ASIHTTPRequest, я предлагаю использовать этот отличный проект Здесь - это пример кода с направляющей линией, а - краткое описание.

Еще один способ - использовать асинхронныйпредставление изображения вместо представления изображения по умолчанию.проверьте учебник Здесь , а также Как?UITableViewCell с UIImageView асинхронно загружается через ASINetworkQueue

0 голосов
/ 28 января 2012

Я не уверен, что это именно то, что вы ищете, но посмотрите пример загрузки ленивого изображения *1002* от apple.Но они используют NSURLConnection.

Надеюсь, это поможет

0 голосов
/ 28 января 2012

В основном ( см. Пример страницы со всем правильным синтаксисом ), что вы делаете

  • Создать заявку.
  • Установите себя в качестве делегата, когда он будет завершен.
  • Запустите запрос.

In - (void) requestFinished: вы добавляете изображение в TableView, как в обычном коде.

...