AlamofireExtended 1.0.5

AlamofireExtended 1.0.5

Doug Mason 维护。



  • Doug Mason

AlamofireExtended

扩展 Alamofire,通过协议扩展各种类。

Alamofire 是一个用 Swift 编写的优秀 HTTP 网络库,但围绕使用具体类的代码编写测试可能会很痛苦。

Alamofire 的几个类已经通过扩展的神奇之处而得到了扩展

  1. SessionManager 现在遵守了 SessionManagerProtocol 协议,每个请求、下载和上传方法都返回一个 DataRequest 协议

  2. SessionManagerProtocol 定义了所有公共属性和方法,因此对 SessionManagerProtocol 的依赖应该像对 SessionManager 的依赖一样简单。由于 Alamofire 的会话管理器符合这个新协议,所以可以在初始化器中将依赖项默认为一些值,如下所示 init(manager: SessionManagerProtocol = SessionManager.default)

  3. 各种请求类型已被扩展,使它们也符合协议。由于 DataRequestDownloadRequestUploadRequest 类型是从 Request 类型继承的,因此有一个通用的 RequestProtocol

    • DataRequestProtocol 继承自 RequestProtocol
    • DownloadRequestProtocol 继承自 RequestProtocolDownloadRequestProtocol
    • UploadRequestProtocol 只继承自 RequestProtocol

Alamofire 的 DataRequest 继承自他们的 Request 类型,现在此类型 DataRequest 符合 RequestProtocolDataRequestProtocol

Alamofire 的 DownloadRequest 继承自他们的 Request 类型,现在此类型 DownloadRequest 符合 RequestProtocolDownloadRequestProtocol

Alamofire 的 UploadRequest 继承自他们的 DataRequest 类型,现在此类型 UploadRequest 符合 UploadRequestProtocol。由于 DataRequest 类型符合 RequestProtocol,因此 UploadRequest 间接符合 RequestProtocol

此包可以与 Swift 包管理器或 CocoaPods 一起使用。

支持的操作系统版本

  • macOS(.v10_12),
  • iOS(.v10),
  • tvOS(.v10),
  • watchOS(.v4)