CompletionHandler неоднозначен для поиска типов в этом контексте - PullRequest
0 голосов
/ 18 сентября 2018

Я недавно присоединился к новому проекту и начал работать над базой кода приложения для iOS.Однако с последним Xcode 10 код больше не компилируется.

protocol NetworkClientType {
  associatedtype CompletionHandler
  static func intoRequest(_ url: URL?) -> URLRequest?
}

extension NetworkClientType {

  typealias CompletionHandler = (Data?, URLResponse?, Error?) -> Void

  static func intoIncompleteURLSessionDataTask(_ request: URLRequest) -> (CompletionHandler) -> URLSessionDataTask {
    return { completion in URLSession(configuration: .default).dataTask(with: request, completionHandler: completion) }
  }
}

Затем в строке 10 (static func intoIncompleteURLSessionDataTask...) ошибка компилятора говорит, что 'CompletionHandler' неоднозначен для поиска типов в этом контексте

Кто-нибудь знает, как решить эту проблему?Я гуглил и не мог найти рабочие решения.

1 Ответ

0 голосов
/ 18 сентября 2018

Изменить

extension NetworkClientType {
  typealias CompletionHandler = (Data?, URLResponse?, Error?) -> Void

на

extension NetworkClientType 
    where CompletionHandler == (Data?, URLResponse?, Error?) -> Void {
...