# Untitled

SwiftUI 기본

- Source Of Truth

    - SwiftUI에서는 body라고하는 연산 프로퍼티에서 특정 코드 / 유저의 액션 / 바인딩 된 데이터 에 따라서 연산을 돌려 어떤 의도된 View를 반환한다.

    - 단순하게 내부 뷰 객체에 바인딩 된 액션이 발생한다고 무작정 뷰를 그리는 body의 연산이 일어나는건 아니다. (눌리는 액션이 있는 객체라도 바인딩 된 액션이 없을 수 있으니까)

    - 핵심은, 
    - 뷰를 그리는 **구조체가 바라보고 있는, 구조체에 묶여있는 어떤 데이터(**@**State와 같은)에 변경**이 있는 경우
    - body는 정해진 연산을 통해 새로운 어떤 some View를 그려낸다.

    - 그렇기 때문에, 외부의 다른 뷰를 관리하는 객체가 내 상태에 함부로 접근하거나 쉽게 변경하지 못하도록 접근 제어자를 잘 설정하는게 중요하다.

```javascript
struct SomeView {
  @State private var number = 0
}
```

- Binding

    - 외부에서 Source Of Truth (State와 같은) 데이터를 주입 받아 참조하고 관리한다.

    - 외부의 값을 읽고, 그 값을 직접 수정해서 참조를 변경시키는 역할을 한다.

    - PropertyWrapper로 구현되어 있는 값이기 때문에 $ 표시로 값을 바인딩한다.

For the site tree, see the [root Markdown](https://slashpage.com/hankyeol.md).
