- 博客(24)
- 收藏
- 关注
转载 AFNetworking 知识点1--NSCopying NSMutableCopying
1.NSCopying————>- (id)copy;NSCopying是一个与对象拷贝有关的协议。如果想让一个类的对象支持拷贝,就需要让该类实现NSCopying协议。NSCopying协议中的声明的方法只有一个- (id)copyWithZone:(NSZone *)zone。当我们的类实现了NSCopying协议,通过类的对象调用copy方法时,cop...
2018-03-30 19:43:00
336
转载 AFNetworking 知识点1--NSCoding NSSecureCoding
NSData对象转为NSData 这个过程称为序列化,NSData转对象称为反序列化。任何对象转NSData,都需要遵循一个协议,就是NSCoding。NSCoding 是把数据存储在iOS和Mac OS上的一种极其简单和方便的方式,把模型对象直接转变成一个文件,然后再把文件重新加载到内存里,并不需要任何文件解析和序列化的逻辑。通过扩展你的数据类来支持encode 和...
2018-03-30 19:42:00
130
转载 4 AFURLRequestSerialization
这个方法就是AFHTTPSessionManager 中构建NSMutableRequest的方法,分三步进行讲解。第一步1.通过URLString 构建NSURL2.通过NSURL构建NSMutableURLRequest,并设置HTTPMethod第二步AFHTTPRequestSerializerObservedKeyPaths()...
2018-03-30 19:42:00
171
转载 3 AFURLSessionManager
根据普通的请求,下载,上传,分出了三种构建Task。分别是:-dataTaskWithRequest —>NSURLSessionDataTask-uploadTaskWithRequest ->NSURLSessionUploadTask-downloadTaskWithRequest —>NSURLSessionDownloadTask...
2018-03-30 19:41:00
113
转载 2 AFHTTPSessionManager
AFHTTPSessionManager 是 AFURLSessionManager 的子类其中包含以下两个属性,可以进行自定义,支持json,propertyLish,xml等格式。AFHTTPRequestSerializerAFHTTPResponseSerializer默认情况下,初始化生成的返回时json格式。AFHTTPRequest...
2018-03-30 19:41:00
266
转载 1 AFNetworking 知识点列举
AFNetworking 知识点:1.NSURLSession2.Runtime 方法置换,给分类添加属性 手动KVO等方法置换:http://www.cnblogs.com/kesalin/archive/2012/01/05/objc_method_swizzling.html分类:https://tech.meituan.com/DiveIntoCateg...
2018-03-30 19:40:00
114
转载 SDWebimage相关知识点1-- NSOperation
GCDGCD是最常用的管理并行代码和执行异步操作的Unix系统层的API。GCD构造和管理队列中的任务。队列是按先进先出(FIFO)管理对象的数据结构。队列类似电影院的售票窗口,票的销售是谁先到谁先服务。在等待线前面的人先去买他们的门票,在其余的后抵达的人之前。队列在计算机科学中是相似的,因为第一个添加到队列的对象也是第一个从队列中删除的对象。操...
2018-03-30 19:39:00
137
转载 SDWebimage相关知识点1-- 线程
一线程(thread)是组成进程的子单元,操作系统的调度器可以对线程进行单独的调度。实际上,所有的并发编程 API 都是构建于线程之上的 —— 包括 GCD 和操作队列(operation queues)。多线程可以在单核 CPU 上同时(或者至少看作同时)运行。操作系统将小的时间片分配给每一个线程,这样就能够让用户感觉到有多个任务在同时进行。如果 CPU 是多核的,...
2018-03-30 19:39:00
159
转载 1.UIButton+WebCache UIImageView+WebCache
1.通过分类的方式,对外暴露接口。2.给分类添加属性,通过imageURLStorageKey值,将self 和 字典进行绑定。通过sd_imageURLForState等方法进行取值。3.调用UIView +WebCache 的sd_internalSetImageWithURL方法 ,设置operationKey值。button 设置图片——>...
2018-03-30 19:38:00
160
转载 4 SDWebImageManager
先从downloadImageWithURL方法讲起:每次方法调用的时候,就会创建一个SDWebImageCombinedOperation对象。有三个属性,并遵循了SDWebImageOperation代理。cancelled 是用来标记状态。cancelBlock 是用来回调。cacheOperation 是磁盘查找时,创...
2018-03-30 19:37:00
116
转载 3.UIView + webCache
从UIView + webCache开始:1. [self sd_cancelCurrentImageLoad];同一个imageview,请求避免请求多次。 每一个imageview 会有一个属性( operationDictionary),存放 SDWebImageOperation对象或者集合,来实现取消操作。2. [self sd_setImage...
2018-03-30 19:37:00
131
转载 2.UIView + WebCacheOperation
1. - (NSMutableDictionary *)operationDictionary通过loadOperationKey值 ,将imageview和operations字典进行绑定。获取到 loadOperationKey与绑定的imageview 上的 operations 字典 ,如果之前有过绑定,那就会有值。如果该字典初始化的话,就返回该字...
2018-03-30 19:37:00
125
转载 5 SDWebImageDownloader
- (void)addProgressCallback:(SDWebImageDownloaderProgressBlock)progressBlock andCompletedBlock:(SDWebImageDownloaderCompletedBlock)completedBlock forURL:(NSURL *)url createCallback:(SDWebImageN...
2018-03-30 19:36:00
106
转载 6 SDWebImageDownloaderOperation类
继承于NSOperation类重写了-start方法。手动管理操作的状态,只有发送isFinished的KVO消息时,才认为是operation结束。为了让操作队列能够捕捉到操作的改变,需要将状态的属性以配合KVO的方式进行实现。isExecuting代表任务正在执行中isFinished代表任务已经执行完成isCancelled代表任务已...
2018-03-30 19:34:00
112
转载 8 SDWebImage 流程
流程图:1.UIimageView + WebCache 类 sd_setImageWithURL方法,实现异步加载图片。在分类中,实现 sd_imageURL属性,保存url .将placeHolder 付给image2. SDWebImageManager(单利),调用 downloadImageWithURL方法检验url 是NSString...
2018-03-30 19:33:00
82
转载 7 SDImageCache
- (NSOperation *)queryDiskCacheForKey:(NSString *)key done:(SDWebImageQueryCompletedBlock)doneBlock作用:缓存中查找现在memCache中查找,再在disk中查找(如果找到,存入缓存中)。- (void)storeImage:(UIImage *)image recalcu...
2018-03-30 19:33:00
129
转载 厚积薄发-网络层架构
基于networking 框架 在项目中实践并得以应用。网址:http://www.jianshu.com/p/05a59197a7c7demo:https://github.com/YasinZhou/NetWorkingDemo随着项目的体积越来越大,业务扩展越来越高,网络层出现了一下几种问题。1.项目中,所有的接口Api 写着了一个.h文件里,体积庞大,查...
2017-02-20 21:07:00
283
转载 厚积薄发 - 分类
1. 分类的用处可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处,a)可以减少单个文件的体积 b)可以把不同的功能组织到不同的category里 c)可以由多个开发者共同完成一个类 d)可以按需加载想要的category 等等。声明私有方法模拟多继承把framework的私有方法公开2.分类和扩展扩展看起来像一个匿名的分类,但是exten...
2016-10-20 20:01:00
181
转载 厚积薄发 - 关于runtime的几个问题
问题http://blog.sunnyxx.com/2014/11/06/runtime-nuts/ 问题来源。(1) 下面的代码输出什么?@implementation Son : Father- (id)init { self = [super init]; if (self) { NSLog(@"%@", NSStrin...
2016-10-11 22:09:00
107
转载 厚积薄发-MJRefresh
MJRefresh-headerheader的使用self.tableView.header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];或:self.tableView.header = [MJRefreshNormal...
2016-10-10 09:16:00
133
转载 厚积薄发-Aspects
厚积薄发-Aspects转载于:https://www.cnblogs.com/JShuo/p/5940187.html
2016-10-08 21:07:00
151
转载 厚积薄发-JSPath
1.require在全局作用域上创建一个同名变量,指向一个对象。{ __isCls: 1, __clsName: "UIView"}2.UIView.alloc__c元函数 :调用一个不存在方法时,转发到一个指定函数去执行。在oc执行JS脚本前,通过正则把所有的方法调用改成调用__c函数,再执行JS脚本。如:UIView.alloc()...
2016-10-08 21:06:00
102
转载 厚积薄发-Runtime总结
1.基础介绍上半年看了一些关于runtime的知识点,感觉受益匪浅,而且多次用到了这些知识,包括公司的架构搭建,JSPath,Aspect,MJReferch中都用到了runtime。这篇文章算是总结了自己所掌握的知识,如果有讲的不对的地方,请大家指出。共同进步~O(∩_∩)O~问题:1.id类型为何能指向任意的oc对象? 2.oc是动态语言,其动态是如何实现的...
2016-10-08 21:06:00
101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人