美文网首页
iOS YTKNetwork 简单使用

iOS YTKNetwork 简单使用

作者: 空调好刺激 | 来源:发表于2019-03-12 12:47 被阅读0次

第一次来简书发文章,目的很简单,一是为了来吐槽下YTKNetwork的坑,二来呢,也希望大家在使用过程中可以有所借鉴,闲话不多说,直接进入正题.

YTKNetwork的安装与集成这里就不用多说,先说全局的请求地址配置在AppDelegate设置

 YTKNetworkConfig *config = [YTKNetworkConfig sharedConfig];

    config.baseUrl = @"http://v.juhe.cn/";

    config.cdnUrl = @"http://fen.bi";

这个设置只适合后台API地址固定的时候使用,如果现在API地址是动态变化的又该怎么设置?我的写法是在YTKNetworkConfig里面覆盖init方法,

self那里,如果有新的API就用APIURL没有就用baseUrl

第二,请求头的设置,一般的通用请求参数(token,设备id)都是放在请求头里面,我是集成YTKRequest类然后重写下面这个方法

参数自己写

第三-重点,为什么说是重点,因为设置完上面几步有可能会请求失败,为什么说有可能,因为YTKNetWork标准的返回的解析格式是json,如果后台没有按照这个标准来做,就会报错,更奇葩的是报错后走了失败的回调,失败的回调里面居然返回了正常的result???正常的返回内容不应该是在成功的回调里面么?一脸蒙蔽....先说我这里是报-1016,后来查阅官方issue请看图,ps:-1016意思就是解析格式错误,需要设置正确的返回格式

2015年的版本了

2015年回答的,我虽然找到了这个类也修改了这个方法,再次运行居然崩溃了!!!!wtf?因为这个方法是在单例方法里面,单例再调单例我反正不懂,反正报错了,再查阅资料发现修改AF源码AFURLResponseSerialization.m文件里面

搜索self.acceptableContentTypes这段代码然后在后面加上@"text/html",@"text/plain"问题解决,再次请求,走了成功的回调.

在这里修改可以解决

ps:官方的回答不一定通用,还有就是使用buildCustomUrlRequest来定制API,但是我们的请求都是封装的通用请求,如果使用buildCustomUrlRequest来定制,会造成N个请求类的封装,不利于后期维护,加入现在有10个接口,你也去写10个自定义还是修改AF源文件?

第四:批量网络请求,如果前面三步没问题,批量请求肯定是成功的,如果前面三步有问题,那么批量请求与依赖请求都会失败,原因是YTKNetwork的机制导致的,YTKNetwork批量请求和依赖请求的原理是一旦有其中一个请求返回失败,所有的请求都会走失败的回调,这也就是为什么前面三步很重要的原因,具体用法见官方demo我这里就不做赘述,如有雷同的地方欢迎大家指出与参考.

相关文章

  • iOS YTKNetwork 简单使用

    第一次来简书发文章,目的很简单,一是为了来吐槽下YTKNetwork的坑,二来呢,也希望大家在使用过程中可以有所借...

  • YTKNetwork简单使用

    YTKNetwork是在AFNetworking的基础上进行封装。相信使用YTKNetwork的小伙伴,已经阅读了...

  • YTKNetwork集成教程以及相关问题思考

    YTKNetwork介绍 YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 ...

  • 改造YTKNetWork(迁移到AF3.0)

    YTKNetWork是什么? YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装...

  • YTKNetwork遇到的问题和总结

    YTKNetwork 是什么? YTKNetwork 是猿题库 iOS 研发团队基于AFNetworking封装的...

  • iOS开发--YTKNetwork的使用

    今天学习了一下YTKNetwork,在此写下心得,记录学习历程 首先YTKNetwork的基本功能如下: 1,YT...

  • YTKNetwork解析

    YTKNetwork是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,提供了更高层...

  • YTKNetwork源码解析

    YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,其实现了一...

  • iOS YTKNetwork用法

    1.YTKNetworkConfig 类 YTKNetworkConfig 类有两个作用:统一设置网络请求的服务器...

  • YTKNetwork 的使用

    1.统一设置网络请求的服务器和 CDN 的地址 2.YTKRequest类 覆盖以下方法 3.其他类 4.调用 5...

网友评论

      本文标题:iOS YTKNetwork 简单使用

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