해결된 질문
작성
·
241
0
시침과 분침, 그리고 밀리초 침을 만드는 과정에서 second 라는 변수를 @Binding 이 아니라 그냥 일반 변수로 선언하셨잖아요.
ContentView 에서는 time 이라는 값을 @State 로 선언한 상태구요. 이 time 값을 시침, 분침, 밀리초 침에서 사용하고 있는 상황이구요.
시침같은 곳에서는 @Binding 으로 사용 안하고 일반변수로 사용해도 UI에서 갱신이 되는거같은데 원래 이런 경우에는 @Binding을 사용하지 않나요?
그리고 숫자로 시간이 표시된는 Text View도 @Binding 이 아니더라도 갱신되는 이유가 궁금합니다.
항상 좋은 강의 감사합니다.
답변 1
1
안녕하세요
변수를 사용할 때
하나의 뷰 안에서만 사용되고
화면이나 다른곳에서 변경기능 없이 그 변수값을 보여주기만 하면 되는건 그냥 변수로 사용해도 됩니다.
하나의 뷰 안에서만 사용하는데 버튼을 누른다던가 다른쪽에서 값을 변경하는 경우라면 state를 사용해야 됩니다.
여러뷰에서 사용해야 되는 값이면 보통 Binding으로 해야 됩니다.
화면마다 여러개로 나눈 View를 보시고 그 안에 변수가 어디에 쓰이는지 보시면 구분하기 쉬울 것 같습니다.