Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
SwiftUI/SwiftUI(Basic)

22. [SwiftUI] Ternary Operator 삼항 연산자

by Toughie 2023. 4. 23.

if else 구문을 단 한줄로 줄일 수 있는 삼항 연산자를 활용해보자.

condition ? true : false

위 코드는 다소 비효율적이다. 색만 바꾸면 되는데 if else 구문을 타고 새로운 RoundedRectangle을 그리는 구조이기 때문이다.
(또한 중복되는 코드도 있다.)

 

삼항 연산자를 활용하면 중복되는 코드도 줄이고, 더욱 간단하게 같은 로직을 구현할 수 있다.

다양한 modifier에 삼항연산자를 적용할 수 있다.

아래의 예시를 참고하자.

//  Created by Toughie on 2023/04/23.
//

import SwiftUI

struct TernaryOperator: View {
    
    @State var isStartingState: Bool = false
    
    var body: some View {
        VStack {
            Button("Button: \(isStartingState.description)") {
                isStartingState.toggle()
            }
            .padding()
            Text(isStartingState ? "True" : "False")
                .padding()
            RoundedRectangle(cornerRadius: isStartingState ? 25 : 0)
                .fill(isStartingState ? Color.red : Color.blue)
                    .frame(
                        width: isStartingState ? 200 : 100,
                        height: isStartingState ? 200 : 100)
            Spacer()
        }
    }
}

'SwiftUI > SwiftUI(Basic)' 카테고리의 다른 글

24. [SwiftUI] Animation Curves and Timing  (0) 2023.04.23
23. [SwiftUI] Animations basic  (0) 2023.04.23
21. [SwiftUI] 조건문(if/else)  (0) 2023.04.23
20. [SwiftUI] @Binding  (0) 2023.04.23
19. [SwiftUI] Extract Subviews  (0) 2023.04.21