20 sd_webImage 原理
2016-03-23 13:13
225 查看
[download
cancel]
相当于给 download
给它一个标记
但是不会马上给他去掉,
需要在 main
方法中进行判断
if(self.isCancelled)
return
分类中不能有属性
要重写他的 getter
方法
setter 方法
要是必须有属性
用到运行时的关联对象
整个OC,Swift
底层都是运行时
能获取类的所有属性
需要用到关联对象,将新传入的
currentURLString 保存起来
导入 c
库 #import<objc/runtime>
#define CZAssociatedObject
"AZAssociatedObject"
- (void)setCurrentURLString:(NSString *)currentURLString{
objc_setAssociatedObject(self,
CZAssociatedObject, currentURLString,
OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)currentURLString{
return objc_getAssociatedObject(self,
CZAssociatedObject);
}
1要把新值绑定到那个对象身上
self
2键名
3你要保存的新枝
传入的值
4属性策略
字符串的话用 copy
枚举
nsurl *url
= [[nsbundle mainbundle] urlforresource
sdwebImage
如果想要监听进度
必须使用 sdWebImageProgressiveDownload
这个枚举
只下载
用 SDWebImageDownloader *download = [SDWebImageDownload
share--];
[download downloadImageWithURL---];
NSCache
和 dictionary
极其相似
totalCostlimit
以 M
来算的
countLimit
几条
多了这两个属性
nscache
的代理方法
cache willEvictObject:--
cancel]
相当于给 download
给它一个标记
但是不会马上给他去掉,
需要在 main
方法中进行判断
if(self.isCancelled)
return
分类中不能有属性
要重写他的 getter
方法
setter 方法
要是必须有属性
用到运行时的关联对象
整个OC,Swift
底层都是运行时
能获取类的所有属性
需要用到关联对象,将新传入的
currentURLString 保存起来
导入 c
库 #import<objc/runtime>
#define CZAssociatedObject
"AZAssociatedObject"
- (void)setCurrentURLString:(NSString *)currentURLString{
objc_setAssociatedObject(self,
CZAssociatedObject, currentURLString,
OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)currentURLString{
return objc_getAssociatedObject(self,
CZAssociatedObject);
}
1要把新值绑定到那个对象身上
self
2键名
3你要保存的新枝
传入的值
4属性策略
字符串的话用 copy
枚举
nsurl *url
= [[nsbundle mainbundle] urlforresource
sdwebImage
如果想要监听进度
必须使用 sdWebImageProgressiveDownload
这个枚举
只下载
用 SDWebImageDownloader *download = [SDWebImageDownload
share--];
[download downloadImageWithURL---];
NSCache
和 dictionary
极其相似
totalCostlimit
以 M
来算的
countLimit
几条
多了这两个属性
nscache
的代理方法
cache willEvictObject:--
相关文章推荐
- poj1543Perfect Cubes
- HashMap实现原理
- linux_shell
- linux环境编程之 fork() || fork()
- 19. NSOperation
- Android之NDK开发
- python库tkinter、pygame中几点需要注意的问题
- phpstorm 10 修改背景图片和字体
- 用C#实现控制台进度条
- MSDN中对MSBuild的解释页
- delphi自定义颜色
- mvc5 + ef6 + autofac搭建项目(四)
- 18.GCD
- 17多线程原理 & NSThread
- 在CentOS上安装phpMyAdmin
- 《世界是数字的》读后感
- 数据库连接字符串大全
- Genymotion出现”Unable to load VirtualBox engine“的问题解决
- 内存溢出java.lang.OutOfMemoryError解决方法
- Python之线程、进程和协程