YTKNetwork
什么是
YTKNetwork 是一个基于 AFNetworking 的高层请求工具。它由 YuanTiKu 的 iOS 团队开发。它为网络请求提供了高层 API。
YTKNetwork 用于 YuanTiKu 所有产品的开发,包括:YuanTiKu、YuanSoTi、YuanFuDao、FenBiZhiBoKe。
功能
- 可以使用过期时间进行响应缓存
- 可以根据版本号进行响应缓存
- 设置公共基本 URL 和 CDN URL
- 验证 JSON 响应
- 断点续传
block
和delegate
回调- 批量请求(见
YTKBatchRequest
) - 链式请求(见
YTKChainRequest
) - URL 过滤,替换部分 URL,或添加公共参数
- 插件机制,处理请求开始和完成。提供了一个显示 "加载" HUD 的插件
谁
YTKNetwork适合稍微复杂一些的项目,不适用于简单的个人项目。
如果想要缓存请求、管理请求的依赖关系或验证JSON响应,YTKNetwork会非常有帮助。并且,如果想要根据请求版本缓存请求,这是YTKNetwork的一个巨大优势。
为什么
YTKNetwork提供YTKRequest来处理每一个网络请求。你应该继承它并重写一些方法以定义你项目中的自定义请求。
主要思想是使用命令模式。好处包括:
- 您的代码与详细的网络请求框架解耦,易于替换。实际上,YTKNetwork最初基于ASIHttpRequest,我们只花了两天时间就切换到了AFNetworking。
- 在基类中处理常见的逻辑。
- 持久性更容易实现。
但如果您的项目非常简单,YTKNetwork则不适用。您可以直接在控制器中使用AFNetworking。
安装
要使用YTKNetwork,将以下内容添加到您的Podfile中
pod 'YTKNetwork'
或者在Cartfile中添加以下内容
github "yuantiku/YTKNetwork" ~> 3.0
要求
YTKNetwork 版本 | AFNetworking 版本 | 最小iOS目标 | 注意 |
---|---|---|---|
3.x | 4.x | iOS 9 | 需要Xcode 11+。 |
2.x | 3.x | iOS 7 | 需要Xcode 7+。 |
1.x | 2.x | iOS 6 | 不适用 |
YTKNetwork基于AFNetworking。您可以在AFNetworking README中找到更多关于版本兼容性的详细信息。
指南 & 示例
贡献者
致谢
感谢他们出色的贡献。
许可证
YTKNetwork 采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。