[Flutter] _CastError Null Check 해결방법

TaeSun·2022년 2월 21일
1

_CastError (Null check operator used on a null value)

Flutter version 2.0 이상부터는 Null safety 가 적용이 되었습니다. 해서 Null이 들어가는지 혹은 들어가지 않아도 되는지 등을 체크하려면 타입 앞에 '?' 붙입니다.
ex) String? int? IconData?



Problem

Null Safety를 제대로 이해하지 못해서 생기는 문제



Solve

// 아이콘을 가지고 오는 메서드 입니다.
_pickIcon() async {
    // icon 선택창
    IconData? icon = await FlutterIconPicker.showIconPicker(context,
        iconPackModes: [IconPack.material]);

    // 선택한 icon
    setState(() {
      // icon 널체크
      if (icon != null) {
        _icon = icon;
      }
    });
  }

위 코드는 아이콘을 가지고 오는 메서드를 만들었습니다.
언급했다 싶이 'Null Safety'가 반영되어 있기 때문에 위 코드 기준으로 상태를 변경할때 null값인지 체크해주어야 합니다.


1. icon을 받아오는 변수가 -> 2. 상태를 변경할때 null인가?(값이 있는가 없는가?) -> 3. 만약 값이 null값(없는값이) 아니라면 _icon 변수에다 데이터를 가져오자



Result

_CastError 가 뜬다면 본인의 프로젝트가 null safety 가 적용된 버전인지 확인해보고 만약 null safety 지원 버전이라면 null check에 대해서 반드시 확인해보아야 한다.
앱을 개발할때 빈 공간을 누르거나 혹은 값이 null값을 실수로 체크하지 않아 _CastError 가 종종 발생하게 된다.

profile
Good things take times

0개의 댓글