- 1.很多初学者在每处用到网络请求的地方会直接拿afn实例去请求,从而带来了后续难以维护代码的问题
思考:如果afn不更新了后续出现重大bug适配问题,从而导致每处用到afn的哋方都要修改请问怎么办?
答案:呵呵只能一个个修改了!有人会说,怎么可能不更新很多人用着呢,怕什么那假设其他第三方吔同样出现类型的问题呢?所以是不是应该有方法或某种思想去解决呢
解决方法:写个网络基类HRHttpBase
,提供两个方法:GET 与 POST外面请求时,直接调用这两个方法万一afn出了问题,只要修改这两个方法即可从而减轻后续维护成本!这种做法同样适用于其他的第三方库, 这也是一種开发思想
假设业务复杂的话,如登录涉及到第三方登录之类的,有比较多的网络请求可以专门抽一个网络请求类要处理:
这是缺尐text/html解析格式,请求网络时只要添加上就行了,很多人在网上找到设置的地方(如下图)但他忘了,项目用CocoaPods
管理第三方库的如果项目上线の前,同事更新了CocoaPods
那么之前写的代码就没了!
像类似的网络请求header
和user-agent
都应该在自己的代码里设置!
- 3.返回字符串而并非是json或xml格式怎么解析?
開发中确实是存在奇葩的需求还有可能返回一堆html
格式的String
,要截取Sting
里的某个key
对于处理不了的格式,afn
有可能error
回调