"Unable to infer type of a closure parameter 'b' in the current context"。调用函数时出现此错误

"Unable to infer type of a closure parameter 'b' in the current context". Getting this error while calling the function

调用函数时出错。

func hitService<T : Codable>(urlS: String , completion : @escaping (T) -> Void) {
    
    guard let url = URL(string: urlS) else {return}
    
    
    let session = URLSession.shared
    
    let _ = session.dataTask(with: url) { dt, resp, err in
        
        
        let decoder = JSONDecoder()
        
        if let d = dt {
            
            do {
                let obj = try decoder.decode(T.self, from: d)
                completion(obj)
            } catch {print(error.localizedDescription)}
        }
    }.resume()
}

像这样调用函数并出现错误。 我也试过在 <> 中传递数据类型。

 hitService(urlS: urlStr) { b in
        
        
        
  }

泛型函数依赖于您在调用时指定类型,因此它可以推断出它使用的类型。

在这种情况下,您需要提供闭包参数的类型 b

hitService(urlS: urlStr) { (b: MyType) in
    
}