IBNetworking Swift网络库基于URLSession封装
Swift 写的网络求库不少,但IBNetworking
算是我最近用下来,体验比较舒服的一个。受Moya
启发,封装得挺到位,底层用的是URLSession
,但写法上没那么重,挺适合想要点封装又不想引入太多复杂逻辑的项目。
网络抽象层的设计比较清爽,枚举管理 API 也直观。比如你只要建个枚举,配置一下baseURL
、path
、method
就能跑,逻辑和 Moya 差不多,但上手门槛低多。
求记录这个功能挺有意思,它用Core Data
把求和响应都落地存了,对主线程影响也控制得不错(线程安全做得还行)。调接口时出错了,翻下日志就知道是哪一步挂了,对调试挺友好的。
它还自带了个Demo 项目
,在仓库里可以直接跑,两个 scheme:IBNetwork
和IBNetworking
。选IBNetwork
那个就行,一键运行,看代码也方便,文件结构挺清楚。
用法也简单,像这样写一个枚举:
enum MyAPI {
case getUser(id: Int)
case postComment(text: String)
}
就可以调用了,整体流程顺滑,代码也比较清爽。
如果你平时觉得URLSession
写起来太繁琐,Moya
又太重,可以试试IBNetworking
。日常项目接入没啥门槛,想加点缓存、日志也好改。
109.2KB
文件大小:
评论区