투케이2K

91. (swift/xcode) if let , guard let 사용해 Optional 데이터 확인 및 true , false 조건 체크 실시 본문

Swift

91. (swift/xcode) if let , guard let 사용해 Optional 데이터 확인 및 true , false 조건 체크 실시

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

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [테스트 함수 정의]
    func testMain(){
        print("")
        print("===============================")
        print("[ViewController >> testMain() :: 테스트 함수 수행]")
        print("===============================")
        print("")
        
        
        /*
         [요약 설명]
         1. 옵셔널(Optional) 은 데이터가 있을 수도 있고, 없을 수도 있다는 의미입니다
         2. swift 에서 옵셔널 데이터는 초기 변수 선언 후 (초기값 지정 없이) 값을 재할당 후 출력할 때 붙습니다
         3. if let : Optional 값이 nil인지 확인하고 분기 처리 작업을 수행합니다
         4. if let 구문에서 데이터가 Optional 인 경우는 if 문에서 벗김 처리 , nil 인 경우 else 구문에서 예외 처리를 수행합니다
         5. guard let : 조건이 true 인 여부를 검사합니다
         6. guard let 구문에서 조건이 true 인 경우 guard let 구문을 수행하고 , false 인 경우 else 구문에서 예외 처리를 수행합니다
         7. guard let 은 else 즉, 조건이 false 일 때 블럭을 종료하는 함수가 필요합니다 (break, return ... )
         */

        
        
        // [초기 변수 선언 실시]
        var optionalData : String?
        var nilData : String? = nil
        var intData : Int?
        
        
        // [optionalData 변수에 데이터 삽입 실시]
        optionalData = "투케이"
        
        
        // [1] : [if let 을 사용해 Optional 여부 확인 및 nil 체크 수행]
        var optionalParsing = ""
        if let optionalCheck = optionalData { // [옵셔널 데이터 인 경우 값을 벗김]
            
            // [옵셔널 데이터 벗김]
            optionalParsing = optionalCheck
            
            // [로그 출력]
            print("")
            print("===============================")
            print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
            print("[optionalCheck :: \(optionalParsing)]")
            print("===============================")
            print("")
        }
        else {
            print("")
            print("===============================")
            print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
            print("[optionalCheck :: data is nil]")
            print("===============================")
            print("")
        }
        
        
        // [2] : [if let 을 사용해 Optional 여부 확인 및 nil 체크 수행]
        var nilParsing = ""
        if let nilCheck = nilData { // [옵셔널 데이터 인 경우 값을 벗김]
            
            // [옵셔널 데이터 벗김]
            nilParsing = nilCheck
            
            // [로그 출력]
            print("")
            print("===============================")
            print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
            print("[nilParsing :: \(nilParsing)]")
            print("===============================")
            print("")
        }
        else {
            print("")
            print("===============================")
            print("[ViewController >> testMain() :: 옵셔널 데이터 체크 실시]")
            print("[nilParsing :: data is nil]")
            print("===============================")
            print("")
        }
        
        
        // [3] : [guard let 을 사용해 String 형식으로 형변환 가능한지 체크 실시]
        guard let strType = intData as? String
        else {
            print("")
            print("===============================")
            print("[ViewController >> testMain() :: guard let 조건 체크 실시]")
            print("[intData :: false]")
            print("===============================")
            print("")
            return
        }
        
    }
 

[결과 출력]


 

반응형
Comments