Прежде всего, вы неправильно используете String(describing
. Он не исправляет неудачное процентное кодирование.
Вторая часть всего процентного кодирования относится к части URL-адреса query
, а не к host
.
Треть из всех name функции с начальной строчной буквой
Принудительное разворачивание закодированной строки безопасно, потому что содержимое поля поиска всегда находится в диапазоне кодируемых символов.
func searchData(){
// updating page every time...
let encode = searchText.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
let url = "http://xmlopen.rejseplanen.dk/bin/rest.exe/location?input=\(encode))&format=json"
print(url)
self.vm.SearchData(url: url)
}
Подходящая альтернатива - URLComponents
и URLQueryItem
, который правильно кодирует строку.