투케이2K

101. (swift/xcode) if let 사용해 다중 optional 옵셔널 데이터 체크 수행 실시 본문

Swift

101. (swift/xcode) if let 사용해 다중 optional 옵셔널 데이터 체크 수행 실시

투케이2K 2022. 8. 16. 19:08

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 함수 정의]
    func testMain() {
        print("")
        print("===============================")
        print("[ViewController >> testMain() :: 테스트 함수 수행]")
        print("===============================")
        print("")
        
        
        /*
         [요약 설명]
         1. 옵셔널(Optional) 은 데이터가 있을 수도 있고, 없을 수도 있다는 의미입니다
         2. swift 에서 옵셔널 데이터는 초기 변수 선언 후 (초기값 지정 없이) 값을 재할당 후 출력할 때 붙습니다
         3. if let 구문에서 데이터가 Optional 인 경우는 if 문에서 벗김 처리 , nil 인 경우 else 구문에서 예외 처리를 수행합니다
         4. 본 예시는 다중 Optional 데이터 체크로 선언된 두 값이 모두 nil 이 아니어야 정상적으로 if 구문을 수행하며, 하나라도 nil 값인 경우는 else 로직 수행
         */
        
        
        // [초기 변수 선언 실시]
        var nameData : String?
        var ageData : Int?
        
        
        // [변수에 데이터 삽입 실시]
        nameData = "투케이"
        ageData = 29
        
        
        // [if let 사용해 옵션널 데이터 체크 수행 실시 : if 문에 선언 된 두 값이 모두 nil 값이 아니어야 정상 if 문 로직 수행]
        var newName = ""
        var newAge = 0
        if let checkName = nameData , let checkAge = ageData { // [옵셔널 데이터 인 경우 값을 벗김]
            
            // [옵셔널 데이터를 벗긴 값을 변수에 대입]
            newName = checkName
            newAge = checkAge
        }
        else {
            print("")
            print("====================================")
            print("[ViewController >> testMain() :: Optional 체크]")
            print("[type :: data is nil]")
            print("====================================")
            print("")
        }
        
        
        // [로그 결과 출력 실시]
        print("")
        print("====================================")
        print("[ViewController >> testMain() :: 로그 결과 확인 실시]")
        print("[newName :: \(newName)]")
        print("[newAge :: \(newAge)]")
        print("====================================")
        print("")
        
    }
 

[결과 출력]

 

 

반응형
Comments