gpt4 book ai didi

Swift,在另一个泛型函数中调用泛型函数

转载 作者:行者123 更新时间:2023-11-28 08:32:03 26 4
gpt4 key购买 nike

我是 Swift 的新手(来自 Java)。当我试图从另一个泛型函数调用泛型函数时,我感到非常头疼。更具体地说,我收到了标准错误消息:“无法推断通用参数 T”。
我假设我可能不知道一些语言细节,所以希望有人能给我一个解决方案,即我如何更正这段代码以使其工作:

//Second parameter is workaround for error no generic parameter in function signature    
func performRequest<T>(request: Request, stub: T?) -> Int {
let result: T? = requestExecutor.execute(request)
return request.getId()
}

我已经在谷歌上花了很多时间试图找出解决方案,但没有找到任何东西。我也尝试过使用 T.Type 而不是 T?在参数中,但没有运气。我在 xCode 7.3.1 中使用 Swift 2.2.1。

最佳答案

对不起,我是个白痴。感谢 Sulthan 的评论,我希望实现我的 RequestExecutor 并且我已经意识到它的执行对泛型有约束,即

func execute<T: Mappable>(request: Request) ...   

将我原来的帖子中的功能更改为

func performRequest<T: Mappable>(request: Request, stub: T?) -> Int...  

一切正常。
再次抱歉,我无法专注于代码的另一部分。感谢 Sulthan 让我走上正轨。
希望这个答案对其他人有帮助:)

关于Swift,在另一个泛型函数中调用泛型函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38657235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com