Свифт Сиеста и NSURLSession
Ищите способ по-прежнему использовать NSURLSession, но переопределите реализацию siestaNetworkingProvider, чтобы вернуть мой собственный NetworkingProvider. Однако это кажется невозможным, поскольку вы не можете переопределить расширения протокола.
1 ответ
Решение
Вы не можете переопределить то, что происходит, когда вы передаете NSURLSession
для networking:
параметр при создании службы - но это все равно только удобство.
Вы можете передать свой пользовательский сетевой провайдер напрямую:
struct MyFancyProvider: NetworkingProvider {
let session: NSURLSession
// ...
}
Service(baseURL: "http://whatever", networking: MyFancyProvider(...))
(Это работает, потому что NetworkingProvider
сам реализует NetworkingProviderConvertible
.)