URLSession dataTask-错误检查-无法通过'!'赋值:'err'是'let'常量

时间:2019-05-04 16:52:42

标签: swift

我是Swift的新手,我正在尝试检查为我的dataTask运行的回调委托中的错误对象。但是,我在if语句上遇到编译错误:

  

不能通过'!'赋值:'err'是'let'常量

Apple文档指定如果没有错误,则err(错误)将为nil。因此,我要做的第一件事是检查err是否为nil。对我合理。但是,它不起作用。

URLSession.shared.dataTask(with: url) { (data, response, err ) in
    if err!=nil
    {
        //There was an error  
    }
}.resume()

1 个答案:

答案 0 :(得分:0)

空白很重要。该行:

if err!=nil

被解析为:

if err! = nil

试图将nil分配给强制展开的值err,而err是一个常量,因此您无法为其分配。

将行写为:

if err != nil

更好:

if let err = err {
    print("Error: \(err)")
}