[TIL] SwiftUI - @State 언제 사용할까?

saebyuck_choom·2022년 7월 21일
0

TIL

목록 보기
1/1

언제 사용할까?

상태값이 있어야 할 곳은 뷰가 아닌 모델이다.
하지만, 기획에 따라 뷰에 일시적으로 상태값이 머무를 수밖에 없는 경우가 있다.

예컨데, 텍스트를 입력한 후 완료 버튼을 눌러야 진행되는 기능이라면, 완료 버튼을 누르기 전까지의 텍스트값은 뷰가 갖고있을 수밖에 없다.

이러한 경우에만 한정적으로 사용하는 것이 @State 이다.

@State

@State 프로퍼티는 항상 private하게 선언해야 하고, (어차피 해당 뷰에서만 접근 가능하며, 해당 뷰에만 관련된 프로퍼티이다)
이는 Heap 영역에 할당된다.
struct인 View가 갈아끼워진다고 해도, 새롭게 대체된 View가 해당 Heap영역의 @State 인스턴스를 가리키게(point) 된다. (해제 후 재할당되는 것이 아니라는 뜻이다)

0개의 댓글