URLSession dataTask - проверка ошибок - невозможно назначить через '!': 'Err' является константой 'let' - PullRequest
0 голосов
/ 04 мая 2019

Я новичок в Swift и пытаюсь проверить объект ошибки в делегате обратного вызова, который выполняется для моей dataTask. Однако я получаю ошибку компиляции в операторе if:

Невозможно назначить через '!': 'Err' является константой 'let'

В документации Apple указано, что ошибка (ошибка) будет равна нулю, если ошибок нет. Итак, первое, что я хочу сделать, это проверить, является ли err нулем. Разумно для меня. Но это не работает.

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

1 Ответ

0 голосов
/ 04 мая 2019

Пробелы имеют значение.Строка:

if err!=nil

анализируется как:

if err! = nil

, которая пытается присвоить nil принудительно развернутому значению err, а err является константойпоэтому вы не можете назначить его.

Напишите строку как:

if err != nil

Еще лучше:

if let err = err {
    print("Error: \(err)")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...