现在的位置: 首页 > 综合 > 正文

ios网络加载图片进行本地文件缓存开源插件sdwebimagecache

2013年03月21日 ⁄ 综合 ⁄ 共 1312字 ⁄ 字号 评论关闭

对ios网络加载图片进行本地文件缓存

https://github.com/rs/SDWebImage

把sdwebimage放入项目

加入imageIO.frtamework

和MapKit.framework

例子:

[imageView setImageWithURL:[NSURL URLWithString:@"https://graph.facebook.com/olivier.poitrey/picture"]     
          placeholderImage:[UIImage imageNamed:@"avatar-placeholder.png"]
                   options:SDWebImageRefreshCached];

setImageWithURL -网络的图片地址

placeholderImage - 本地保存的文件名

 options:SDWebImageRefreshCached - 图片改变时刷新

异步加载

    NSURL *url = [NSURL
URLWithString:result];

    NSArray *strArr= [result
componentsSeparatedByString:@"/"];

    NSString *pKey = strArr[strArr.count -
1];

    

    if ([[SDImageCache
sharedImageCache] imageFromDiskCacheForKey:pKey]) {

        theBlock([[SDImageCache
sharedImageCache] imageFromDiskCacheForKey:pKey]);

    } else {

        SDWebImageManager *manager = [SDWebImageManager
sharedManager];

        [manager downloadWithURL:url

                         options:0

                        progress:^(NSUInteger receivedSize,
long long expectedSize) {

                            // progression tracking code

                        }

                       completed:^(UIImage *image,
NSError *error, SDImageCacheType cacheType,
BOOL finished) {

                           if (image) {

                               [[SDImageCache
sharedImageCache] storeImage:image

                                                                   
forKey:pKey

                                                                   
toDisk:YES];

                               theBlock(image);

                               // do something with image

                           }

                       }];

    }

抱歉!评论已关闭.