투케이2K

77. (swift/xcode) [유틸 파일] String 문자열 데이터를 URL 및 URLRequest 주소 형식으로 변경 가능 한지 체크 실시 본문

Swift

77. (swift/xcode) [유틸 파일] String 문자열 데이터를 URL 및 URLRequest 주소 형식으로 변경 가능 한지 체크 실시

투케이2K 2022. 5. 20. 10:23

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [String 문자열 데이터가 URL 형식으로 파싱 가능 한지 체크 실시]
    func stringIsUrlParsing(string: String) -> Bool {
        
        /*
        // -----------------------------------------
        [stringIsUrlParsing 메소드 설명]
        // -----------------------------------------
        1. String 문자열 데이터가 URL 형식으로 파싱 가능 한지 체크 실시
        // -----------------------------------------
        2. 호출 방법 :
         C_Util().stringIsUrlParsing(string: "https://www.naver.com") // [변경 가능]
         C_Util().stringIsUrlParsing(string: "http://www.test.app?key=1234") // [변경 가능]
         
         C_Util().stringIsUrlParsing(string: "http://www.test.app?key=yHfsatdJyL\r\n") // [변경 불가 : 엔터 값]
        // -----------------------------------------
        3. 리턴 반환 : URL 형식으로 변환 가능한 경우 true / 아니면 false 리턴
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = false
        
        // [인풋 데이터 널 체크 수행 실시]
        if string != nil
            && string.count>0
            && string != ""
            && string != "null"
            && string.isEmpty == false {
            
            // [URL 타입 선언 확인 실시]
            do {
                if let url = URL(string: string) { // [웹뷰 로드 주소 URL 체크]
                    
                    let request = URLRequest(url: url) // [URLRequest 로 정상 변환 가능한지 확인]
                    
                    // [리턴 변수에 삽입 실시]
                    returnData = true
                }
                else {
                    // [리턴 변수에 삽입 실시]
                    returnData = false
                }
            }
            catch {
                print("")
                print("====================================")
                print("[C_Util >> stringIsUrlParsing() :: String 문자열 데이터가 URL 형식으로 파싱 가능 한지 체크 실시]")
                print("-------------------------------")
                print("catch :: \(error.localizedDescription)")
                print("====================================")
                print("")
                
                // [리턴 변수에 삽입 실시]
                returnData = false
            }
        }
        else {
            // [리턴 변수에 삽입 실시]
            returnData = false
        }
        
        // [로그 출력 실시]
        print("")
        print("====================================")
        print("[C_Util >> stringIsUrlParsing() :: String 문자열 데이터가 URL 형식으로 파싱 가능 한지 체크 실시]")
        print("-------------------------------")
        print("input :: \(string)")
        print("-------------------------------")
        print("return :: \(returnData)")
        print("====================================")
        print("")
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]

 

 

반응형
Comments