iOS/SwiftUI

[SwiftUI] State

HarryJeonn 2022. 4. 24. 15:38

State가 무엇인고..

State

SwiftUI에서 가장 기본적이고 많이 사용하는 것

사용자에 의해서 이벤트가 발생하면 State, 상태를 변경한다.

State가 변경되면 자동으로 변환 시켜주는 일을 한다.

→ State가 변경되면 UI를 업데이트한다.

예시

struct ContentView: View {
    
    @State var name = "Harry"
    
    var body: some View {
        VStack {
            Text(name)
            Button(action: {
                self.name = "Lily"
            }) {
                Text("이름 바꾸기")
            }
        }
    }
}

버튼을 클릭하면 Harry → Lily로 이름이 바뀐다

struct ContentView: View {
    // 상태변화를 감지하는 변수 선언
    @State var texts = [String]()
    // text 추가 함수
    private func addText() {
        self.texts.append(name: "Harry 블로그 구독")
    }
    
    var body: some View {
        List {
            // 버튼
            Button(action: addText) {
                HStack {
                    Image(systemName: "plus")
                    Text("할일 추가")
                }.foregroundColor(.blue)
            }
            
            ForEach(texts) { text in
                Text(text)
            }
        }
    }
}

버튼 클릭할 때마다 새로운 Text() 추가

참고 사이트

https://seons-dev.tistory.com/73

 

SwiftUI : State에 대해 자세히 알아보기

이미 앞 게시물에서 한번 다뤘지만 SwiftUI에서 아주 중요한 부분이기 때문에 한번 더 자세히 다루겠습니다. @State 앞전 게시물에서 수없이 나왔던 @State  와 Struct 에 대해서 알아보겠습니다. SwiftUI

seons-dev.tistory.com