Как использовать Lazy Loading в Paging?
У меня есть 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.и пока все не будут получены, я должен ждать..
Так что я хочу использовать Lazy Loading Here.. У меня есть пример Apple Lazy Загрузка для TableView.. но не понимаю, как использовать его с Paging??
так может кто-нибудь предложить мне, что я могу сделать для этого? любая помощь приветствуется..
1 ответ
Вы можете создать категорию для класса UIImageView и добавить несколько методов, которые позволят вам сделать следующее:
Загрузите изображение из файла кэша в каталог tmp - если файл кэша не может быть найден, загрузите изображение из Интернета в фоновом потоке и сохраните его в кэше.
Сначала проверив наличие файла кэша, вы можете пропустить повторную загрузку содержимого.
При загрузке изображения в фоновом потоке ваше приложение не будет отставать в ожидании завершения загрузки контента.
Используя категорию, ваши методы будут применяться к любому UIImageView, который вы хотите использовать, и даже будут работать в режиме подкачки.
Вместо того, чтобы публиковать здесь полное кодовое решение, я собираюсь предложить вам исследовать и разработать собственное решение.
Удачи.