개발자 랩실/플러터 (Flutter)

[Flutter] The method ‘+’ can’t be unconditionally invoked bacause the receiver can be ‘null’

sina.dev 2022. 3. 8. 09:59
728x90

에러 메시지

 

에러 원인

  • null-satefy를 적용한 dart 문법에서 연산자 += 등 연산자를 줄인 형식이 허용되지 않아 발생됨

 

해결 방법

/// BASAL 총 값
if(basalList!.length > 0) {
  basalList!.forEach((e) {
    double value = e.basalAmt as double;
    this.totBasalValue = this.totBasalValue !+ value;
  });
}
  • 값을 받을 변수를 초기화한 후 필요한 연산자를 이용해 값을 대입

 

아래와 같이 적용 후 사용하기

double num1 = 10;
double num2 = 20;
double? tot;

tot += num1; // 사용 X
tot += num2 // 사용 X

tot = tot !+ num1;
tot = tot !- num2;
tot = tot !* num1;
tot = tot !/ num2;