IBNetworking Swift网络库基于URLSession封装

Swift 写的网络求库不少,但IBNetworking算是我最近用下来,体验比较舒服的一个。受Moya启发,封装得挺到位,底层用的是URLSession,但写法上没那么重,挺适合想要点封装又不想引入太多复杂逻辑的项目。

网络抽象层的设计比较清爽,枚举管理 API 也直观。比如你只要建个枚举,配置一下baseURLpathmethod就能跑,逻辑和 Moya 差不多,但上手门槛低多。

求记录这个功能挺有意思,它用Core Data把求和响应都落地存了,对主线程影响也控制得不错(线程安全做得还行)。调接口时出错了,翻下日志就知道是哪一步挂了,对调试挺友好的。

它还自带了个Demo 项目,在仓库里可以直接跑,两个 scheme:IBNetworkIBNetworking。选IBNetwork那个就行,一键运行,看代码也方便,文件结构挺清楚。

用法也简单,像这样写一个枚举:

enum MyAPI {
  case getUser(id: Int)
  case postComment(text: String)
}

就可以调用了,整体流程顺滑,代码也比较清爽。

如果你平时觉得URLSession写起来太繁琐,Moya又太重,可以试试IBNetworking。日常项目接入没啥门槛,想加点缓存、日志也好改。

zip 文件大小:109.2KB