【问题标题】:Generic parameter T could not be inferred , Issue无法推断通用参数 T ,问题
【发布时间】:2023-02-14 21:47:53
【问题描述】:

这是我的函数声明....

func requestApi<T:Codable>(_ url: URLConvertible,method:HTTPMethod = .post, parameters: Parameters, header:[String:String] ,completion:@escaping (_ success:Bool,_ result:T?) -> Void) {
    
    print("parameters: ",parameters)
    print("HEADERS: ",header)
    requestAPI(url, method:method,httpBody:parameters.queryString, headers: header) { (result:ApiResult<T,APIError>) in
        print(result)
        switch result {
        case .success1(let result):
            print(result)
            completion(true, result)
        case.failure(let error):
            DataHandler.shared.showAlert(title: "", message: error.customDescription)
            print(error.customDescription)
            completion(false, nil)
        }
    }
}

这就是我调用这个函数的方式。

UserStore.shared.requestApi(CUSTOMER_BOOKING_DETAILS, parameters: params, header: header) { (flag, result) in ...

在函数调用中,我收到此错误“无法推断通用参数 T,问题”

【问题讨论】:

    标签: ios swift xcode


    【解决方案1】:

    你应该在完成块中给出结果类型

    UserStore.shared.requestApi(parameters: params, header: header) { (flag, (result as? CUSTOMER_BOOKING_DETAILS)) in ...
    

    或者

    UserStore.shared.requestApi(parameters: params, header: header) { (flag, (result: CUSTOMER_BOOKING_DETAILS)) in ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多