В моем приложении iOS я показываю табличное представление с объектами JSON, загруженными с URL-адреса. Теперь tableview прокручивается очень медленно, и при отображении последних строк изображения иногда выходят за пределы контейнера просмотра изображений, выглядя совершенно беспорядочно. Это код внутри метода cellForRowAtIndexPath, который обрабатывает вид изображения внутри клетки:iOS tableview с объектами JSON
NSMutableString *logo = [[NSMutableString alloc]initWithString:@"http://not shown here"];
NSString *imageURL = [[categorias objectAtIndex:indexPath.row] objectForKey:@"imagen"];
NSLog(@"URL = %@",imageURL);
if(imageURL != nil && ![imageURL isEqual:[NSNull null]])
{
[logo appendString:imageURL];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
NSURL *logoURL = [NSURL URLWithString:logo];
NSData *logoData = [NSData dataWithContentsOfURL:logoURL];
dispatch_async(dispatch_get_main_queue(), ^{
if (logoData.length) {
cell.imagen_label.image = [UIImage imageWithData:logoData];
}else{
cell.imagen_label.image = [UIImage imageNamed:@"no_image.png"];
}
});
});
}
мне нужна ваша помощь, чтобы улучшить поведение Tableview.
Вы должны заранее получить изображения несколько строк вперед, так что, когда пользователь прокручивает образы, изображения уже загружены. – zaph
Спасибо @Zaph, знаете ли вы учебник, который мог бы мне это сделать? – user3713806
Извините, я всегда писал свои собственные, но ищите изображения, код кеширования, попробуйте CocoaPods, даже если вы не хотите использовать [CocoaPods] (http://cocoapods.org). Я просто искал «кэш изображений» и получил хорошие удары. Первый хит: «FastImageCache: iOS Библиотека iOS для быстрого отображения g изображения при прокрутке "звучит так, как вам нужно, проверьте их, многие выглядят хорошо. – zaph