Как использовать Lazy Loading в Paging? - PullRequest
3 голосов
/ 10 мая 2011

У меня есть viewController, в котором я использовал Page control. и на каждой странице 4 изображения.

Я прошел Xml и по количеству изображений получил количество страниц pageControl (NumberOfImages / 4).

Я сделал свой код следующим образом ...

сначала я получаю URL каждого изображения и сохраняю их в массиве.

for(int i=0;i<[Array Count];i++)
{
imgString=[NSString stringWithFormat:@"%@",[Array objectAtIndex:i]];
NSLog(@"string :%@",imgString);
NSString *abc=[imgString tringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//NSLog(@"abc :%@",abc);

NSURL *url=[NSURL URLWithString:abc];
NSLog(@"url :%@",url);

NSData *data = [NSData dataWithContentsOfURL:url];

[ImageArray addObject:[UIImage ImageWithData:data]];
}

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

Итак, я хочу использовать Ленивую загрузку здесь ... У меня есть пример отложенной загрузки Apple для TableView..но не понимаю, как его использовать с подкачкой ??

так может ли кто-нибудь предложить мне, что я могу сделать для этого ?? любая помощь приветствуется ..

1 Ответ

0 голосов
/ 14 июля 2011

Вы можете создать категорию для класса UIImageView и добавить несколько методов, которые позволят вам сделать следующее:

Загрузить изображение из файла кэша в каталоге tmp - если файл кэша не может быть найден, загрузите изображение из Интернета в фоновом потоке и сохраните его в кэше.

Сначала проверив наличие файла кэша, вы можете пропустить повторную загрузку содержимого.

При загрузке изображения в фоновом потоке ваше приложение не будет отставать в ожидании завершения загрузки контента.

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

Вместо того, чтобы публиковать здесь полное кодовое решение, я предлагаю вам изучить и разработать собственное решение.

Удачи.

...