美文网首页IOS
在swift中使用AFNetworking注意事项

在swift中使用AFNetworking注意事项

作者: 浅浅_e90e | 来源:发表于2017-05-27 15:17 被阅读1350次

公司项目需要,不得不硬着头皮用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

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

相关文章

网友评论

    本文标题:在swift中使用AFNetworking注意事项

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