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 |