我想从JSON webservice加载多个图像到我的应用程序。这些图像用作我应用中“商店”的缩略图。因此,当用户单击按钮转到“商店”时,正在发出请求。每次用户单击按钮时,都会重复此请求。
现在这里没有问题,但是当JSON中的数据数量增加时会出现问题。以前,我们只加载5张图片。现在,我们正在加载至少18张图片。当图像乘以100或更多时,这些可能会造成真正的问题。
我正在考虑使用NSURLCache
来缓存图片,但我怎么知道图片是否有更新?是说添加了新图像,还是不再使用当前图像?任何人都可以告诉我什么是最好的方法来解决这个问题?
答案 0 :(得分:1)
您可以使用来自https://github.com/rs/SDWebImage的SDWebImage从Webservices加载多个图像 在像bellow
这样的指令中阅读如何使用注意: - 请不要选中复制选项
现在点击你的xcode中的项目名称来构建阶段: - > target dependencies: - >点击+按钮添加SDWebimage ARC
现在选择链接二进制文件库点击+按钮添加libSDWebimageARC.a然后再次点击+并添加imageIO.framework并添加libxml2.dylib就可以了
转到Build设置: - >其他链接标记: - >添加-ObjC
和标题搜索路径添加这三项
1 / usr / include / libxml2
2“$(OBJROOT)/ UninstalledProducts / include”
3“$(TARGET_BUILD_DIR)/ usr / local / lib / include”
你可以像这样诋毁代码: -
#import <SDWebImage/UIImageView+WebCache.h>
imageView = [[UIImageView alloc] init];
UIActivityIndicatorView *activityIndicator = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] autorelease];
activityIndicator.hidesWhenStopped = YES;
activityIndicator.hidden = NO;
[activityIndicator startAnimating];
[imageView setImageWithURL:[NSURL URLWithString:strUrlSting]
placeholderImage:nil options:SDWebImageProgressiveDownload
success:^(UIImage *image) { [activityIndicator stopAnimating];[activityIndicator removeFromSuperview]; }
failure:^(NSError *error) { [activityIndicator stopAnimating];[activityIndicator removeFromSuperview]; }];
[imageView addSubview:activityIndicator];
imageView.contentMode = UIViewContentModeScaleAspectFit;
imageView.clipsToBounds = YES;
imageView.tag = 1;
imageView.backgroundColor = [UIColor blackColor];
现在建立并运行它的工作就像平稳的欢呼......:)