2012-01-17 2 views
0

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

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

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

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

Как можно загрузить изображения после загрузки 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; 

}

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

ответ

0

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

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

Она включает в себя пример того, как использовать его

0

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

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

или только для просмотра кода Asynchronous, Checkout this link

0

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

https://github.com/AFNetworking/AFNetworking

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