11
10

 

📢학습 목표
  • [Binding] 키워드
  • OneWayProperty Binding 컴포넌트 다룰 수 있다
  • TwoWayProperty Binding 컴포넌트 다룰 수 있다
  • EventBinding 컴포넌트 다룰 수 있다

시작 전 저번 시간에 배울걸 정리해봅시다.

데이터 바인딩: UI 요소와 데이터 소스를 연결하여 데이터가 변경될 때 UI가 자동으로 업데이트되도록 하는 과정입니다.

View : 뷰는 UI 요소입니다. 버튼이나 글자 띄우는 UI같은걸 말합니다.

View Model : 뷰 모델은 뷰와 모델간 중개자 역할을 합니다. 뷰의 상태와 행동을 관리하고, 뷰와 모델 사이의 데이터 바인딩을 처리합니다.

오늘 배워볼 UnityWeld는 ViewModel을 View에 등록하여 실시간으로 UI에 ViewModel 값이 추적됩니다.

그럼 시작해보겠습니다.

[Binding] 키워드

우선 뷰모델이 될 컴포넌트(클래스)안에는 무조건 [Binding] 키워드가 있어야합니다.

 
[Binding]
public class DemoViewModel : ViewModel
{
}

이런식으로 클래스 위나 앞에 [Binding] 키워드 넣어주셔야합니다.


private int _count;
[Binding]
public int Count
{
    get => _count;
    set
    {
        _count = value;
        OnPropertyChanged(nameof(Count));
    }
}

바인딩될 변수 또한 위나 앞에 [Binding] 키워드 넣어주셔야합니다.

이 떄 변수는 무조건 public이여야 바인딩되겠죠?


[Binding]
public void OnClickAdd()
{
    SetCount(Count+1);
}

함수 또한 앞이나 위에 [Binding] 키워드 넣어주셔야합니다.

이렇게 바인딩 키워드를 넣으셨으면 유니티 에디터에서

이런식으로 [Binding] 키워드를 넣은 변수나 메서드들이 추적 가능합니다.

만약에 안뜬다면 클래스나 해당 변수나 메서드에 [Binding] 키워드가 빠져있는지 보시면 됩니다.

 

💡핵심 정리

[Binding] 키워드를 통해 바인딩 될 뷰 모델의 변수들을 지정해봤습니다.

또한 단방향, 양방향, 이벤트 바인딩을 통해 변수들이 변할 때 마다 추적을 했습니다.

 

다음에는 좀 더 디테일한 예제로 실전에서 쓸 수 있도록 뷰 그룹에 대해서 다루겠습니다.

 

📚같이 보면 좋은 글
COMMENT