寻找仍然使用NSURLSession的方法,但覆盖siestaNetworkingProvider实现以返回我自己的NetworkingProvider。这似乎是不可能的,因为你不能覆盖协议扩展。
答案 0 :(得分:2)
您无法覆盖在创建服务时为NSURLSession
param传递networking:
时发生的情况 - 但这只是一种便利。
您可以直接传递自定义网络提供商:
struct MyFancyProvider: NetworkingProvider {
let session: NSURLSession
// ...
}
Service(baseURL: "http://whatever", networking: MyFancyProvider(...))
(这可行,因为NetworkingProvider
本身实现了NetworkingProviderConvertible
。)