gpt4 book ai didi

swift - 如何引用通用的 Alamofire DataResponse 值

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:37 25 4
gpt4 key购买 nike

我想编写一个可以接受任何 Alamofire DataResponse 值的方法。例如,我可能会传入 DataResponse<Any>DataResponse<String> .但是,我找不到使它起作用的方法。例如,如果我尝试像这样使用“DataResonse”

static func isTimeout(response: DataResponse) -> Bool {
if let error = response.result.error {
if error._code == NSURLErrorTimedOut {
return true
}
}
return false
}

编译错误:

Reference to generic type 'DataResponse' requires arguments in <...>
Insert <Any>.

但是,如果我将参数类型更改为 DataResponse<Any> , 当我有 DataResponse<String> 时它不会工作.当我尝试通过 DataResponse<String> 时遇到的编译错误进入函数是:

Cannot convert value of type 'DataResponse<String>' to expected argument type 'DataResponse<Any>'

我也试过DataResponse<AnyObject>并得到与上述相同的错误和 DataResponse<Value>并得到这个错误:

Use of undeclared type 'Value'

关于如何执行此操作的任何想法,这样我就不必为略有不同的参数类型复制函数?

最佳答案

您忘记推断通用类型。试试这个:

static func isTimeout<T>(response: DataResponse<T>) -> Bool {

关于swift - 如何引用通用的 Alamofire DataResponse 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46959494/

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