@State에 대해서 설명하시오
Opened this issue · 2 comments
inuinseoul commented
@State에 대해서 설명하시오
inuinseoul commented
- @State를 변수 앞에 붙이면 해당하는 변수는 구조체와 다른 메모리 상에 올라갑니다.
- 그리고 이에 대한 주소값만을 가져옵니다.
- 즉, 결국엔 일종의 포인터처럼 작동해서 주소값 자체는 변경되지 않고 내부값을 변경하면서 사용하는 것입니다.
sustainable-git commented
- State
- @State는 SwiftUI에 의해 관리되는 read/write 가능한 property wrapper입니다.
- @State는 memory를 point하여 값이 변경되면 View를 rebuilt시킵니다.
- View를 초기화할 때 @State property를 초기화하면 충돌이 일어날 수 있습니다. 그렇기 때문에 항상 @State는 private로 선언해야 하고, 해당 View 내에서 가장 높은 계층에 위치시켜야 합니다.
- child View에게 read-only access를 제공하기 위해서는 @State를 공유하면 되고, read-write access는 @binding을 공유하면 됩니다.