Вы нашли ошибку в отладчике!Его легко воспроизвести:

Мы остановились на точке останова внутри условия.Очевидно, что url
это , а не nil
, иначе нас бы здесь не было.
Другой способ доказать это - po url
в консоли (см. Справа внизу).этого снимка экрана):

Тем не менее, url
отображается как nil
как во всплывающей подсказке, так и в списке переменных.Таким образом, отладчик просто лжет вам: url
не ноль.Не волнуйся, будь счастлив.Ваш код работает нормально.
EDIT Ошибка связана с наложением Swift Foundation.Если вы измените объявление url
на следующее:
let url = NSURL(string: urlAsString)
... тогда все будет работать как положено.