gpt4 book ai didi

swift - 从 'NSData' 转换为无关类型 'NSHTTPURLResponse' 总是失败

转载 作者:行者123 更新时间:2023-11-28 06:47:09 25 4
gpt4 key购买 nike

我有这段代码:

let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in

guard let response = data else {
print("Error: did not receive data")
return
}

guard error == nil else {
print("error")
print(error)
return
}

let httpResponse = response as! NSHTTPURLResponse
let statusCode = httpResponse.statusCode

if (statusCode == 200) {
print("OK!!!")
}
})

task.resume()

在该行:let httpResponse = response as! NSHTTPURLResponse 我有这个奇怪的警告:从“NSData”到无关类型“NSHTTPURLResponse”的转换总是失败

我应该如何摆脱它?谢谢!

最佳答案

您正在将 data 的内容解包到名为 response 的常量中。这是你的问题的根源,因为你正在使用一个以为你正在使用另一个。

此外,为什么要强制解包 downcast?

最好继续像您一样使用 guard

例子:

let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in

guard let data = data else {
print("Error: did not receive data")
return
}

guard error == nil else {
print("error")
print(error)
return
}

guard let httpResponse = response as? NSHTTPURLResponse else {
print("response unavailable")
return
}

let statusCode = httpResponse.statusCode

if statusCode == 200 {
print("OK!!!")
}
})

task.resume()

关于swift - 从 'NSData' 转换为无关类型 'NSHTTPURLResponse' 总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35995846/

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