본문 바로가기
new

Flutter에서 VoidCallback 사용하기

by ftbd 2024. 3. 6.

1. final VoidCallback callback; 선언 의미

  • final: 변수가 재할당될 수 없음을 의미합니다. 즉, 한 번 초기화된 후 다른 함수 포인터로 변경할 수 없습니다.
  • VoidCallback: 매개변수 없이 void 타입 값을 반환하는 함수를 위한 타입입니다.
  • callback: 변수 이름입니다. 원하는 이름으로 변경 가능합니다.

2. 초기화 및 사용 방법

// 클래스 생성 시 파라미터로 받아 초기화
MyClass(this.callback);

// 함수 호출
callback.call();
  • 클래스 생성 시 callback 파라미터를 통해 함수 포인터를 전달하여 초기화합니다.
  • callback.call() 을 통해 저장된 함수를 호출합니다.

3. 추가 정보 및 고려 사항

  • final VoidCallback callback; 는 null 값을 가질 수 있습니다.
  • callback.call() 을 호출하기 전에 널 체크를 수행하는 것이 안전합니다.
  • callback 변수는 클래스 내에서만 사용할 수 있습니다. 다른 클래스에서 사용하려면 getter 또는 setter 메서드를 사용해야 합니다.
class MyClass {
  final VoidCallback callback;

  MyClass(this.callback);

  void myFunction() {
    print('This is my function');
  }

  void callCallback() {
    callback.call();
  }
}

void main() {
  // 함수 정의
  void myCallback() {
    print('This is my callback function');
  }

  // MyClass 인스턴스 생성
  MyClass myClass = MyClass(myCallback);

  // myFunction 호출
  myClass.myFunction();

  // callback 직접 호출
  myClass.callback.call();

  // callCallback 메서드 호출
  myClass.callCallback();
}