swift - 表达式从 "error?"隐式强制转换为 Any

标签 swift swift3 error-handling

我有这个错误:

Expression implicity coerced from "Error?" to Any

不知道是什么意思,希望得到帮助。

let task = URLSession.shared.dataTask(with: url) { (data,response, error) in
    if error != nil {
        print(error)
    } else {
        if let urlContent = data {
            do {
                let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers)
                print(jsonResult)
            } catch {
                print("JSON Processing Failed")
            }
        }
    }
}

task.resume()

最佳答案

检查这一行:

print(error)

您正在打印一个可选值。您应该使用 if let 将其解包。

if let error = error {
    print(error)
}

关于swift - 表达式从 "error?"隐式强制转换为 Any,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46112966/

相关文章:

ios - 在 Swift 中获取 UIBarButtonItem 的 View

python - 在python3中发生错误时询问输入内容

html - 如何将 HTML 格式和标签从 JSON url 引入 Swift 3

swift - 如何使用 Swift 3 解决 “ambiguous use of ' fetch'” 错误?

string - 可选类型 'String?' 的值未解包;你的意思是使用 '!' 还是 '?' 在 Swift 2.0 中使用 Parse

ios - 异步 Web 请求后无法让事件指示器停止

python - AttributeError:在 Ubuntu 中运行 Python tweepy 脚本时出现解码错误

iphone - iPhone-如何测试每个内存调用返回的分配对象?

ios - 在 UITapGestureRecognizer 中传递参数

Swift4,如何通过单击在当前 View Controller 的 subview 中以编程方式创建的按钮来呈现另一个 View Controller