UITableView загрузка изображений после загрузки приложения - PullRequest
0 голосов
/ 17 января 2012

, поэтому я пишу приложение, и оно получает обложки альбомов с URL-адресов веб-сайтов.

В основном, как я уже написал, читается файл, содержащий URL-адреса обложки альбома. Затем создается двумерный NSMutableArray с данными из файла, а UIImages инициализируется из отдельных URL-адресов из файла, а затем сохраняется в массиве.

Затем массив загружается в UITableView.

Это прекрасно работает ... за исключением 10 секунд, чтобы загрузить приложение (смеется).

Так есть ли способ загрузить изображения после загрузки UITableView?

Вот мой метод cellForRowAtIndexPath, если он помогает.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];

if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"identifier"]autorelease];
}

((UILabel *)[cell viewWithTag:artistTag]).text = [[musicList.list objectAtIndex:indexPath.row] objectAtIndex:artistIndex];

((UILabel *)[cell viewWithTag:albumTag]).text = [[musicList.list objectAtIndex:indexPath.row] objectAtIndex:albumIndex];

((UILabel *)[cell viewWithTag:dateTag]).text = [[musicList.list objectAtIndex:indexPath.row] objectAtIndex:dateIndex];

((UIImageView *)[cell viewWithTag:imageTag]).image = [[musicList.list objectAtIndex:indexPath.row] objectAtIndex:imageIndex];

return cell;

}

Большое спасибо!

Ответы [ 3 ]

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

Что вы действительно хотите сделать, так это загрузить изображения в фоновые потоки.

Для получения полного набора связанного кода, проверьте SDWebImage

Или простоАсинхронный просмотр кода, оформление заказа по этой ссылке

0 голосов
/ 24 августа 2012

AFNetworking очень хорош для асинхронной загрузки и даже поставляется с функциональностью для обработки загрузки изображений (например, обложки альбома).GitHub репо включает в себя пример кода.

https://github.com/AFNetworking/AFNetworking

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

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

http://www.markj.net/hjcache-iphone-image-cache/

Содержит пример того, как его использовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...