개발 창고/iOS

[SwiftUI] How to use "Ternary Operator (삼항연산자)"

로이제로 2023. 12. 20. 22:00
반응형

1. 기본 문법

조건문 ? TRUE값 : FALSE값

물음표(?)를 기준으로 왼쪽에 조건문 (Bool Type의 True나 False로 결과를 도출하는 문장)이 있어야 하며, 두 개 이상의 조건문은 괄호와 AND( && ) / OR( || )를 활용하여 한 개의 결과로 작성해주어야 합니다.

그 뒤로 콜론( : )을 기준으로

왼쪽은 조건문의 결과가 True일때 Return 값

오른쪽은 조건문의 결과가 False일 때 Return 값

입니다.


2. if - else

이는 if - else로 변환하면 아래와 같이 표기할 수 있습니다.

if 조건문 {
    TRUE값
} else {
    FALSE값
}

이 부분이 유용하게 쓰이는 부분은 parameter에 조건에 맞는 값을 넣어주고 싶을 때 활용됩니다.


3. 삼항연산자 활용

import SwiftUI

// View 페이지
struct TestView: View {
    var cond01:Bool = true      // TRUE 조건문
    var cond02:Bool = false     // FALSE 조건문
    
    var body: some View {
        VStack {
            Text("결과가 TRUE인 경우")
                .foregroundColor(cond01 ? .blue : .red)
            
            Text(" ")
            
            Text("결과가 FALSE인 경우")
                .foregroundColor(cond02 ? .blue : .red)
        }
    }
}

// View 미리보기
struct TestView_Previews: PreviewProvider {
    static var previews: some View {
        TestView()
    }
}

만약 위와 같이 Text View에서 글자 색을 조건에 따라 TRUE이면 파란색을, FALSE이면 빨간색으로 보여준다고 하면

Text(텍스트).foregroundColor(조건문 ? .blue : .red)

를 이용하여, 조건문에 따라 텍스트의 색상을 변경하여 보여줄 수 있습니다.

테스트 결과

이 삼항 연산자는 Kotlin / Java / Javascript 과 같이 다른 많은 언어에서도 동일하게 활용 가능합니다.

반응형