투케이2K

152. (swift5/xcode) [유틸 파일] stringNotNullMulti : String 문자열 데이터 다중 널 판단 실시 : true / false 본문

Swift

152. (swift5/xcode) [유틸 파일] stringNotNullMulti : String 문자열 데이터 다중 널 판단 실시 : true / false

투케이2K 2023. 11. 6. 19:45

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [String 문자열 데이터 다중 널 판단 실시 : true / false]
    // -----------------------------------------------------------------------------------------
    func stringNotNullMulti(data:Array<String>?) -> Bool {
        
        /*
        // -----------------------------------------
        [stringNotNullMulti 메소드 설명]
        // -----------------------------------------
        1. String 문자열 데이터 다중 널 판단 실시
        // -----------------------------------------
        2. 호출 방법 : C_Util().stringNotNullMulti(data: [""])
        // -----------------------------------------
        3. 리턴 반환 : 문자열 데이터가 모두 널이 아닌 경우 true / 하나라도 널인 경우 false
        // -----------------------------------------
        */
        
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = false
        
        
        // [인풋 데이터 널 체크 수행 실시]
        if data != nil {
            
            if data?.isEmpty == false && data?.count ?? 0 > 0 {
                
                var nullFlag = false // [널 데이터 체크 플래그]
                
                for i in stride(from: 0, through: data!.count-1, by: 1) {
                   
                    var item = String(describing: data![i])
                    
                    if item != nil
                        && item.count>0
                        && item != ""
                        && item.trimmingCharacters(in: .whitespacesAndNewlines) != ""
                        && item.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
                        && item.trimmingCharacters(in: .whitespacesAndNewlines) != "undefined"
                        && item.isEmpty == false { // [널 아님]
                    }
                    else {
                        nullFlag = true
                        break
                    }
                    
                }
                
                
                if nullFlag == false { // [확인 된 널 데이터가 없는 경우]
                    
                    // [리턴 결과 데이터 삽입]
                    returnData = true
                    
                }
                
            }
            
        }
        
        
        // [로그 출력 실시]
        S_Log._D_(description: "String 문자열 데이터 다중 널 판단 실시", data: [
            "INPUT :: \(String(describing: data))",
            "RETURN :: \(returnData)"
        ])
        
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]


반응형
Comments