我是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()
答案 0 :(得分:0)
空白很重要。该行:
if err!=nil
被解析为:
if err! = nil
试图将nil
分配给强制展开的值err
,而err
是一个常量,因此您无法为其分配。
将行写为:
if err != nil
更好:
if let err = err {
print("Error: \(err)")
}