传递 Codable 结构时无法推断通用参数 'T'
Generic parameter 'T' could not be inferred when passing Codable struct
请先看一下代码以便更好地理解。
func getType<T: Decodable>(urlString: String, header: HTTPHeaders, completion: @escaping (T?) -> Void){
}
let networkManager = DataManager()
networkManager.getType(urlString: kGetMyDayTaskDetails + strId, header: header) { (MyDayAndTaskDetails) in
}
错误:
Generic parameter 'T' could not be inferred
我正在尝试使用泛型将结构作为参数传递,以使用 api 调用的通用方法。但不知道如何正确调用。请指导。
考虑闭包中的参数是一个实例,而不是类型。比如像
networkManager.getType(urlString: kGetMyDayTaskDetails + strId,
header: header) { details in
}
要指定通用类型,请对其进行注释,并且根据签名,它必须是可选的
networkManager.getType(urlString: kGetMyDayTaskDetails + strId,
header: header) { (details : MyDayAndTaskDetails?) in
}
请先看一下代码以便更好地理解。
func getType<T: Decodable>(urlString: String, header: HTTPHeaders, completion: @escaping (T?) -> Void){
}
let networkManager = DataManager()
networkManager.getType(urlString: kGetMyDayTaskDetails + strId, header: header) { (MyDayAndTaskDetails) in
}
错误:
Generic parameter 'T' could not be inferred
我正在尝试使用泛型将结构作为参数传递,以使用 api 调用的通用方法。但不知道如何正确调用。请指导。
考虑闭包中的参数是一个实例,而不是类型。比如像
networkManager.getType(urlString: kGetMyDayTaskDetails + strId,
header: header) { details in
}
要指定通用类型,请对其进行注释,并且根据签名,它必须是可选的
networkManager.getType(urlString: kGetMyDayTaskDetails + strId,
header: header) { (details : MyDayAndTaskDetails?) in
}