在swift中使用AFNetworking注意事项

公司项目需要,不得不硬着头皮用swift3.0了,之前都是用swift2.3的,网络请求有的用afn,有的用Alarmfire,之前并没有刻意注意过内存的问题,现在这个项目也是swift用的afn,今天用leaks一测,90%以上的内存泄漏都出现在afn文件上

几乎每个有问题的都是这样的提示,那么问题来了,人家第三方库写的好好的,我们又不能擅自动人家已封装好的东东,只能自己找原因了,下面进入正题

1、首先在oc中用afn请求,创建AFHTTPSessionManager的时候,我们调用的是这个类的类方法+(instancetype)manager,但相信在swift坑里求生存的程序猿们也注意到了,我们在无法调用manager这个类方法,如果要创建AFHTTPSessionManager,只能这样: let manager = AFHTTPSessionManager() ,但这样的话,这个对象就不是单例了,每次请求都创建一次,很耗内存,解决方法是我们自己创建一个类,很简单的类,就是返回一个AFHTTPSessionManager的单例对象,一下是我的这个类里的代码

importUIKit

classManagerInstance:AFHTTPSessionManager{

//单例

staticletshareSingleOne =ManagerInstance()

}


我们在请求方法里这样使用就可以了

 let manager  = ManagerInstance.shareSingleOne

测过了,真的很管用的,真的真的~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,230评论 4 61
  • 下班选择了公交车,而不是地铁。 小长假前期,身心放松,想在公交车商看看沿途风景,和走了那么多次的路。 淮海路上,无...
    8bc80694e065阅读 1,924评论 0 0
  • 近代大学者王国维提出治学有三种境界,完全可以看作“人生奋斗的三种境界”。 1、晏殊《蝶恋花》里的“独上高楼,望尽天...
    小鹿says阅读 2,990评论 0 0
  • 今天学习到了Mattt Thompson的文章BOOL / bool / Boolean / NSCFBoolea...
    ttcloud阅读 4,963评论 0 1
  • 【指甲油】 和你约会时那天涂的指甲油 现在已经斑驳 心里想着把它卸了再补吧 可是 可是 还是等你再约我的时候再做这...
    七个西柚阿阅读 819评论 1 2