개발/아이오에스

swift] json으로 가져온 url(stirng)을 띄어쓰기제거, 한글 인코딩, url 유효성 검사하기

dev.jake 2021. 6. 16. 09:18

- swift] json으로 가져온 url(stirng)을 띄어쓰기제거, 한글 인코딩, url 유효성 검사하기

json 형식의 데이터를 파싱하여 가져왔을 때 백엔드개발자의 실수나 어떠한 오류로 json의 url 데이터의 값이 오류가 생기는 경우 앱의 이미지를 보여주거나 웹뷰를 보여줄 때 큰 문제를 발생할 수 있다. 그래서 해당 url을 한번 체크(공백제거, 한글 인코딩, url 유효성 체크)를 해주고 앱이 작동되도록 로직을 구현해준다.

let
freedSpaceString = url.filter {!$0.isWhitespace} //띄어쓰기제거

guard let target =  freedSpaceString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return}// 한글 인코딩 ex) https://namu.wiki/일론머스크

func isReachable(completion: @escaping (Bool) -> ()) { //URL 유효성검사

        var request = URLRequest(url: self)

        request.httpMethod = "HEAD"

        URLSession.shared.dataTask(with: request) { _, response, _ in

            completion((response as? HTTPURLResponse)?.statusCode == 200)

        }.resume()

    }