2012-01-28 3 views
2

Я использую ASIHTTPRequest. У меня есть следующие проблемы при использовании ASIHTTPRequest.Добавление изображений Асинхронно - ASIHTTPRequest

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

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

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

+0

Возможный дубликат [Как? UITableViewCell с UIImageView асинхронно загружается через ASINetworkQueue] (http://stackoverflow.com/questions/3380791/how-uitableviewcell-with-uiimageview-asynchronously-loaded-via-asinetworkqueue) – JosephH

ответ

6

Нет необходимости вводить зависимость в целом структуры, такие как ASIHTTPRequest просто загрузить одно изображение, когда вы можете сделать это несколько простых строк кода с помощью НОД:

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 я предлагаю использовать этот превосходный проект Here является образец кода, чтобы иметь направляющую линию и a brief description.

один способ, что вы можете использовать асинхронный вид изображения вместо образ изображения по умолчанию. проверить учебник Here, а также How? UITableViewCell with UIImageView asynchronously loaded via ASINetworkQueue

+0

Эй, хорошо ли использовать несколько библиотек в проекте ? Как в async-uitableview и ASIHTTPRequest? и что особенного в использовании другой библиотеки, когда вы можете сделать это только в ASIHTTPRequest? (Я новичок), а также краткое описание ссылки заканчивается в 404, не могли бы вы любезно связать его – Illep

+0

да вы можете использовать несколько библиотек в одном проекте. 'async-uitableview' является абстракцией поверх' ASIHTTPRequest. 'async-uitableview' специально рассматривает асинхронную загрузку изображений в tableview. –

+0

@Srikar dispatch_async - Я видел его первый раз сегодня и использовал его. Спасибо за эту информацию. Он выглядит хорошим методом для использования. – pankaj

0

В основном (see example page with all the correct syntax), что вы делаете

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

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

+0

Я уже использую 'requestFinished', чтобы другие данные отображались в виде таблицы. и эти данные, которые я получаю, будут иметь ссылку на изображение, которое я хочу загрузить. Итак, как я могу снова использовать 'requestFinished' для загрузки изображения? – Illep

+0

Когда вызывается requestFinished, файл уже загружен, и вы просто используете NSData * responseData = [request responseData]; для получения фактического загруженного контента. –

0

Я не уверен, что это именно то, что вы ищете, но посмотрите lazy image loading example с яблока. Но они используют NSURLConnection.

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

Смежные вопросы