투케이2K

139. (swift5/xcode) [유틸 파일] dicToUrlEncodeQueryString : 딕셔너리를 URL 인코딩 문자열로 반환 본문

Swift

139. (swift5/xcode) [유틸 파일] dicToUrlEncodeQueryString : 딕셔너리를 URL 인코딩 문자열로 반환

투케이2K 2023. 10. 8. 10:07

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [딕셔너리를 URL 인코딩 문자열로 반환]
    // -----------------------------------------------------------------------------------------
    func dicToUrlEncodeQueryString(dic_: Dictionary<String, Any>?) -> String {
        
        /*
        // -----------------------------------------
        [dicToUrlEncodeQueryString 메소드 설명]
        // -----------------------------------------
        1. 딕셔너리를 URL 인코딩 문자열로 반환
        // -----------------------------------------
        2. 호출 방법 :
           let dic_ : Dictionary<String, Any> = ["name":"투케이", "age":29] // [딕셔너리]

           C_Util().dicToUrlEncodeQueryString(dic_: dic_)
        // -----------------------------------------
        3. 리턴 반환 :
         
         age=29&name=%ED%88%AC%EC%BC%80%EC%9D%B4
        // -----------------------------------------
        */
        
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = ""
        
        
        // [인풋 데이터 널 체크 수행 실시]
        if dic_ != nil
            && dic_?.isEmpty == false
            && dic_?.count ?? 0 > 0
            && dic_?.keys.count ?? 0 > 0 {
            
            
            // [반복문을 돌면서 key, value 확인 실시]
            var count = 0
            
            for key in dic_!.keys {
                
                if count > 0 {
                    returnData += "&"
                }
                
                returnData += "\(key)".addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!
                returnData += "="
                returnData += "\(String(describing: dic_![key] ?? ""))".addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)!
                
                count += 1
            }
            
        }
        
        
        // [로그 출력 실시]
        S_Log._D_(description: "딕셔너리를 URL 인코딩 문자열로 반환", data: [
           "INPUT :: \(String(describing: dic_))",
           "RETURN :: \(returnData)"
       ])
        
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]

 

================================================================
LOG :: CLASS PLACE :: C_Util.swift :: dicToUrlEncodeQueryString(dic_:) :: 2359
-------------------------------------------------
LOG :: NOW TIME :: 2023-10-08 10:01:09
-------------------------------------------------
LOG :: DESCRIPTION :: 딕셔너리를 URL 인코딩 문자열로 반환
-------------------------------------------------
LOG :: INPUT :: Optional(["age": 29, "name": "투케이"])
-------------------------------------------------
LOG :: RETURN :: age=29&name=%ED%88%AC%EC%BC%80%EC%9D%B4
================================================================

 

반응형
Comments