美文网首页
为什么要对AFN进行二次封装?

为什么要对AFN进行二次封装?

作者: StonesMonkey | 来源:发表于2016-12-04 11:22 被阅读295次

近期面试一个人的时候,讲到AFN的封装,一般人只答到一方面,就是在AFN的基础之上进行封装一个网络层,降耦合。这样答我认为只答到了其中一方面,还有另一方面就是我们在做网络请求的时候,NSSession,一定会对当前代理对象进行强引用,所以当我们做一个网络工具类的时候,这个工具类肯定是不会释放的。所以AFN做工具类的二次封装是必要的

<code>
The session object keeps a strong reference to the delegate until your app exits or explicitly invalidates the session. If you do not invalidate the session, your app leaks memory until it exits. --->苹果官方文档
</code>

也就是说,NSSession的代理对象和NSSession一定会循环引用,也解释了我们为什么要封装单例工具类。
而且如果你不封装成单例的话,每次调用请求工具类,因为都是不释放的,所以都会造成内存泄漏,故而都会用静态变量static修饰

相关文章

  • 为什么要对AFN进行二次封装?

    近期面试一个人的时候,讲到AFN的封装,一般人只答到一方面,就是在AFN的基础之上进行封装一个网络层,降耦合。这样...

  • AFN原理及常用方法

    AFN的六大模块NSURLConnection,主要对NSURLConnection进行了进一步的封装,包含以下核...

  • iOS-网络相关

    本篇涵盖AFN、ASI、封装网络请求等. 1.iOS网络请求之ASI与AFN的二次封装及意义2.LXNetwork...

  • XBLoadingKit

    一、原起 我为什么要对MBProgressHUD进行二次封装?今年新找的这份工作,项目的创建的时间比较早了,201...

  • AFNetworking的封装(三)--OC黑魔法

    采用AFN自带的私有方法,对GET和POST进行封装! 在AFN的AFHTTPSessionManager.m里有...

  • 用AFN进行POST请求的一些坑

    后台在只接受标准的json格式 由于我是对AFN进行二次封装的,给paramters传的值类型为字典类型:name...

  • AFN 二次封装

    .打开下载下来的demo,运行如下(其中红色箭头所指的文件是我们拖到项目中的两个文件): 1678515-d4b8...

  • HYBNetworking阅读笔记

    如题:本篇是对于HYBNetworking的阅读学习笔记 HYBNetworking是基于AFN 的二次封装,1....

  • 基于AFN3.X 的网路请求库二次封装

    为尽量保证AFN的原汁原味和实用性,但又不至于让项目对第三方框架的过渡依赖,对AFN进行了二次封装 1.创建一个继...

  • YTKNetWork https证书配置

      YTKNetWork 是一款非常好用且功能强大的网络框架,他对AFN进行了二次封装,我们在使用的时候可以很方便...

网友评论

      本文标题:为什么要对AFN进行二次封装?

      本文链接:https://www.haomeiwen.com/subject/nclhmttx.html