Если у вас уже есть закодированная строка URL, вам нужно сначала удалить кодировку в процентах, прежде чем применять ее снова.
Если вы не уверены, что ваш URL уже закодирован или нет, вы можете просто используйте if let
для removingPercentEncoding
и, в зависимости от его результата, вызовите addingPercentEncoding
для исходного URL-адреса или для того, с которого вы удалили кодировку.
let alreadyEncodedURLString = "https://mydomain.in/retailers_data_v2/retailer/320/17372-Tea%20Coffee%20Vending%20Machine.JPG"
if let unencodedURLString = alreadyEncodedURLString.removingPercentEncoding {
unencodedURLString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
} else {
alreadyEncodedURLString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
}