You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift泛型参数T无法推断问题求助

解决Swift泛型函数"Generic parameter T could not be inferred"错误

你遇到的这个错误是因为Swift编译器无法自动推断泛型函数requestApi里的T类型。你的函数定义里T遵循Codable,但调用时没有给编译器足够的信息来确定T具体对应哪个模型类型。

解决方法有两种:

1. 在completion闭包里显式指定result的类型

修改调用代码,给闭包里的result参数加上明确的类型标注(替换成你实际要解析的Codable模型类型):

UserStore.shared.requestApi(CUSTOMER_BOOKING_DETAILS, parameters: params, header: header) { (flag, result: BookingDetail?) in 
    // 这里处理返回结果
}

比如如果你的预订详情模型是BookingDetail,且它已经遵循Codable协议,这样编译器就能知道T就是BookingDetail。

2. 调用函数时显式指定泛型参数

在调用requestApi时,直接在函数名后用<>指定泛型T的具体类型:

UserStore.shared.requestApi<BookingDetail>(CUSTOMER_BOOKING_DETAILS, parameters: params, header: header) { (flag, result) in 
    // 这里处理返回结果
}

两种方法都能让编译器明确T的类型,解决推断失败的问题。你可以根据自己的代码习惯选择其中一种。

内容的提问来源于stack exchange,提问作者Sumyia Yaseen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:01:19