Hi, Hamish.
I hava a confusion about protocol in swift. eh... for example:
I defined two protocols and two extensions about URLSession and URLSessionDataTask like following code:
protocol URLSessionDataTaskProtocol {
func resume()
}
protocol URLSessionProtocol {
typealias dataTaskHandler = (Data?, URLResponse?, Error?) -> Void
func dataTask(with request: URLRequest, completionHandler: @escaping dataTaskHandler) -> URLSessionDataTaskProtocol
}
extension URLSessionDataTask: URLSessionDataTaskProtocol {}
extension URLSession: URLSessionProtocol {}
open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask
URLSession does not conform to protocol URLSessionProtocol