2016-06-27 2 views
1

Ищете способ использовать NSURLSession, но переопределите реализацию siestaNetworkingProvider, чтобы вернуть мой собственный NetworkingProvider. Это кажется невозможным, поскольку вы не можете переопределять расширения протокола.Swift Siesta и NSURLSession

ответ

2

Вы не можете переопределить, что происходит, когда вы передаете NSURLSession для параметра networking: при создании сервиса, но это все равно только удобство.

Вы можете передать свой собственный провайдер сети напрямую:

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

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

(Это работает, потому что NetworkingProvider сам реализует NetworkingProviderConvertible.)

Смежные вопросы