Swift 午睡和 NSURLSession
Swift Siesta and NSURLSession
寻找一种仍然使用 NSURLSession 但将 siestaNetworkingProvider 实现覆盖到 return 我自己的 NetworkingProvider 的方法。但是这似乎是不可能的,因为您不能覆盖协议扩展。
您无法覆盖在创建服务时为 networking:
参数传递 NSURLSession
时发生的情况 — 但这只是一种方便。
您可以直接传递您的自定义网络提供商:
struct MyFancyProvider: NetworkingProvider {
let session: NSURLSession
// ...
}
Service(baseURL: "http://whatever", networking: MyFancyProvider(...))
(之所以有效,是因为 NetworkingProvider
本身实现了 NetworkingProviderConvertible
。)
寻找一种仍然使用 NSURLSession 但将 siestaNetworkingProvider 实现覆盖到 return 我自己的 NetworkingProvider 的方法。但是这似乎是不可能的,因为您不能覆盖协议扩展。
您无法覆盖在创建服务时为 networking:
参数传递 NSURLSession
时发生的情况 — 但这只是一种方便。
您可以直接传递您的自定义网络提供商:
struct MyFancyProvider: NetworkingProvider {
let session: NSURLSession
// ...
}
Service(baseURL: "http://whatever", networking: MyFancyProvider(...))
(之所以有效,是因为 NetworkingProvider
本身实现了 NetworkingProviderConvertible
。)