Percent Encoding은 URL에 특수문자를 사용할 때 “%”를 이용한 다른 문자로 대체해서 표현해주는 방식입니다. 자세한 내용은 아래 공식문서를 참조해주세요.
Percent-encoding - MDN Web Docs Glossary: Definitions of Web-related terms | MDN
Swift의 String에는 Percent Encoding를 도와주는 메소드가 존재합니다. 다만 해당 메소드는 String?를 반환하므로 unwrapping 이후에 사용해야 합니다.
func createURL(_ text: String) -> URL? {
let baseURL = "https://some-backend.kr/"
guard let encoded = text.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) else { return nil }
return URL(string: encoded)
}