前言
Github上有不少优秀的开源项目,SwiftHub就是其中之一。本篇文章是本人在阅读完SwitHub项目后,对项目中网络层封装总结的一些个人见解。
SwiftHub项目地址: https://github.com/khoren93/SwiftHub
一点见解
SwiftHub 项目的网络层使用的Moya+RxSwift 做的封装,在使用前需要在pods中导入用到的库文件
platform :ios, '11.0'
use_frameworks!
inhibit_all_warnings!
target 'SwiftHub’ do
pod 'Moya/RxSwift' # https://github.com/Moya/Moya
pod 'RxSwiftExt', '~> 5.0' # https://github.com/RxSwiftCommunity/RxSwiftExt
pod 'NSObject+Rx', '~> 5.0' #
end
使用Moya封装的Api 接口会被放置到一个枚举文件中, 项目中如果所有的接口放到一个文件,还是有不少问题的,一来:不利于多人开发, 如果多人同时修改同一个文件,大概率出现冲突问题,二来:代码文件会比较大,不利于管理。 所以,基于以上两点,我们更希望的是一个模块一个Api接口, 分离出来。 SwiftHub项目也是这样做的,只是它在这个基础上又制定了一个协议, 所有的模块接口,