[swift] SwiftUI 뷰의 위해 세팅과 갱신
SwiftUI는 애플의 모던 UI 프레임워크로, 간편하게 동적이고 혁신적인 사용자 인터페이스를 구성할 수 있습니다. 이를 위해서는 적절한 세팅과 뷰의 갱신 메커니즘이 필요합니다.
세팅 (Setting up)
SwiftUI 뷰의 세팅은 주로 body
계산 속성(property) 내에서 이루어집니다. 여기서 다른 뷰를 조합하고, 데이터를 연결하며, 레이아웃을 구성하기 위한 코드를 작성합니다.
예를 들어, NavigationView
내에서 List
뷰를 정의하거나, @State
나 @Binding
을 활용하여 데이터에 대한 연결을 만들 수 있습니다.
struct ContentView: View {
@State private var isShowingDetail = false
var body: some View {
NavigationView {
List {
Text("Item 1")
Text("Item 2")
}
.navigationBarTitle("List")
}
}
}
위의 코드에서 isShowingDetail
상태를 이용하여 디테일 뷰의 표시 여부를 조절하고, NavigationView
와 List
를 조합하여 리스트 뷰를 만들고 있습니다.
갱신 (Refreshing)
뷰의 갱신은 데이터의 변화나 사용자 입력에 의해 발생할 수 있습니다. Swift에서는 @State
변수의 값이 변경될 때마다 해당 뷰의 갱신이 일어나게 됩니다.
따라서, 뷰를 갱신해야 하는 경우에는 @State
변수의 값을 변경하거나, @ObservedObject
를 이용하여 외부에서 데이터의 변화를 감시하는 방법을 사용할 수 있습니다.
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Increase") {
self.count += 1
}
}
}
}
위의 코드에서는 @State
변수 count
의 값이 버튼을 클릭할 때마다 1씩 증가되므로, 뷰가 해당 변화를 감지하여 자동으로 갱신이 이루어집니다.
SwiftUI에서 뷰의 정의, 세팅, 갱신에 대한 방법을 숙지하면, 간편하고 혁신적인 UI를 구현하는 데 도움이 될 것입니다.