Ну даже не знаю... на самом деле работает все и с пробелом %20 между New и York. Я не обманываю вот результат в консоли:
Но у меня импортирован UIKit, чисто в Foundation я не могу в этом проекте попробовать. Хотя структура URL объявлена в Foundation.
У тебя мобильное или десктопное приложение?
Так что вывод: города состоящие из нескольких "слов" разделяйте коротким тире. api сама разберется что это разделитель, а UIKti или Foundation пропустят такой URL.
И еще получайте URL в конструкции guard
guard let url = URL(string: urlString) else { return }
если выходите из метода, то ясно что url не прошел проверку. Ну или if let там можно будет в консоль вывести мол, url не задался чего-то )))
Да, логично, потому что URL не корректный. Но я только подозреваю. City это переменная. ну или константа. То есть она в urlString передается и не факт что верно. Поэтому я и спросил, возвращает ли браузер json именно с таким URL. Это же отладка.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Но у меня импортирован UIKit, чисто в Foundation я не могу в этом проекте попробовать. Хотя структура URL объявлена в Foundation.
У тебя мобильное или десктопное приложение?