1

寻找一种仍然使用 NSURLSession 但覆盖 siestaNetworkingProvider 实现以返回我自己的 NetworkingProvider 的方法。然而,这似乎是不可能的,因为您不能覆盖协议扩展。

4

1 回答 1

2

在创建服务时,您无法覆盖传递NSURLSessionfornetworking:参数时发生的情况——但这只是一种方便。

您可以直接传递您的自定义网络提供商:

struct MyFancyProvider: NetworkingProvider {
  let session: NSURLSession
  // ...
}

Service(baseURL: "http://whatever", networking: MyFancyProvider(...))

(这是有效的,因为NetworkingProvider它本身实现了NetworkingProviderConvertible.)

于 2016-06-27T17:24:03.210 回答