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

对SDWebImage的扩展,源码分享了

2012年08月20日 ⁄ 综合 ⁄ 共 1367字 ⁄ 字号 评论关闭

SDWebImage是一个可以自动管理图片加载的类库。
因为大家都知道,图片加载非常耗流量,所以在移动平台上对于图片的处理就要异常小心了。因此就必须用到本地缓存了。
而我之前写的一个小型App,因为每张图片的名字都是GUID生成的,不会被修改了。所以会每次都检查一下本地是否有这个文件名的文件存在了。这样最大限度的减小了网络流量,不需要每次都加载一次。
不过呢,SDWebImage的功能不仅仅仅限于此,功能更为强大。最基本的有一个UIImageView的category,用法很简单

[imageView setImageWithURL:[NSURL URLWithString:@"http://www.ioslib.com/ioslib.png"]];

另外呢,还有一个SDWebImageManager,使用它可以进行一些异步加载的工作,关于这部分内容 ,可以参见官方的文档: 
SDWebImage是托管在Github上的:http://github.com/rs/SDWebImage

但SDWebImage的功能却仅限于image类型,因此本人对它进行了扩展。
SDWebData是将原来仅限于image的SDWebImage扩展至对所有的NSData提供了支持,并增加了一些新的方法。
如果你的应用与网络交互有关,那么你一定会喜欢的。
应楼下要求,我做了一个简章的Demo。
PS:(同志们啊,别只下不顶嘛,这样我会很伤心的哦,这可是我花了一整天写出来,并且后期还修改了一些小bug升级了两次到1.0.2,确保没有问题才敢发上来的,给点儿鼓励嘛!)
我太感谢版主Gagaga大大了,竟然得到了精华帖,看来辛苦都是值得的,感动的泪水哗啦啦的流啊~~~

更新(8月19日):32楼的 luckyma316 指出了附件中的SDWebDataTest示例代码中一个问题,为了不误导大家,我特此进行了改动,多谢大家的关注!

更新(12年1月15日凌晨)
SDWebData v1.1.0
更新:
*.将库中所有代码修改为ARC的代码,(仍然使用手动release,retain的工程不能使用这个版本的代码);
1.SDDataCache更名为SDDataCacheManager,因为这是一个单例类,这些的命名更统一规范;
2.SDDataCacheManager新增了memCacheMaxSize属性(单位B),默认为2M(2*1024*1024);
3.SDDataCacheManager新增了cacheMaxCacheAge属性(硬盘缓存的过期时间,单位秒),默认为1周(7*24*60*60);
4.SDWebDa*****anager的回调方法中,去掉了SDWebDa*****anager的参数,因为SDWebDa*****anager本身为单例类,返回该对象无实质意义;
5.SDWebDa*****anager所有的请求,在属性中增加类型为id的context参数,在回调中并返回,方便同一个delegate发起不同的请求;
6.SDWebDa*****anager增加方便的Post请求方法,并且支持文件上传;
7.SDWebDa*****anager新增MaxConcurrentCount属性,用于限制并发请求的数量,当同时请求数量过多时,可防止对主线程的拥塞.

抱歉!评论已关闭.