目前,我正在为该网站开发客户端。我有大量的图像需要加载到我的 TableView 中。这是我正在做的事情:
NSDictionary *propertyItems = [self.items objectAtIndex:indexPath.row];
cell.fio.font = [UIFont boldSystemFontOfSize:17.0f];
if([propertyItems objectForKey:@"online"] == [NSNumber numberWithInt:1])
cell.fio.textColor = [UIColor colorWithRed:0.3 green:0.6 blue:0.3 alpha:1.0];
dispatch_queue_t downloadPhotosQueue = dispatch_queue_create("downloadPhotosQeue", NULL);
dispatch_async(downloadPhotosQueue, ^{
NSData *photosData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.example.com/%@", [propertyItems objectForKey:@"photo_trumb"]]]];
dispatch_async(dispatch_get_main_queue(), ^{
cell.pic.image = [UIImage imageWithData:photosData];
});
});
cell.fio.text = [propertyItems objectForKey:@"fio"];
我在cellForRowAtIndexPath:方法中这样做。一切都在快速加载。但问题是,当我向下滚动表格并再次向上滚动时,图像会一遍又一遍地重新加载。
问题:有什么方法可以轻松缓存我从服务器获取的 UIImages?因此,如果它们被加载一次,它们就不会在我运行应用程序时一遍又一遍地重新加载。也许我做错了什么?
提前致谢!