iOS进阶-剖析AFNetWoking 设计模式

AFNetWoking 3.0 总结如图如下:

image.png

AFNetWoking 3.0 和 AFNetWoking 2.0 区别


一、发送网络执行类: 
2.0 : 使用NSURLConnection;
3.0 : 使用NSURLSession;

实现方式:
2.0 : 以http基础方法为核心,如get/post 等;
3.0 : 以task 为核心,如data/upload/download

二、实现过程:
2.0: 以NSHttpRequestOperationManager 为核心类,调用该只需提供一个URL即可;返回结果为NSHttpRequestOperation,内部实现过程如下:
   第一步:自动创建一个NSURLRequest类;
   第二步:自动创建一个NSOperation的子类NSURLConnectionOperation ,自动管理队列;
   第三步:NSURLConnectionOpperation中使用NSURLConnection 发送网络请求;

3.0: 以NSURLSessionManager为核心,调用不同的类方法请求,返回信息是不同类型的TASK对象,实现流程如下:
   第一步:开发者在外部创建一个NSURLSessionConfiguration类;
   第二步:开发者在外部使用NSURLSessionConfiguration初始化一个NSURLSessionManager 类;
   第三步:开发者在外部创建一个NSURLRequest 对象;
   第四步:通过调用不用的类方法,创建对应的TASK对象;
   
   废弃了2.0中: NSHttpRequestOperation NSHttpRequestOperationManager  NSURLConnection
   
三、总结不同:
   2.0是不足要互用关注内部的源代码,使用简单但是不够灵活;
   3.0是改变源代码,创建不同的TASK对象,需要互用袭击创建配置类、NSURLRequest对象
   
 
 
全部评论

相关推荐

小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务