inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter 초급 - Http통신, 상태관리

AirResult _result 초기화 에러

630

에스큐아이소프트교육

작성한 질문수 1

0

1. main.dart 에서 AirResult 를 선언하면 초기화 하라는 에러가 발생합니다.
    AirResult _result
=======================================================
    Non-nullable instance field '_result' must be initialized.
    Try adding an initializer expression, or a generative constructor that initializes it, or mark it 'late'.
    초기화 방법에 대한 가이드 부탁드립니다.  
    (late 를 추가해도 미세먼지를 표시하는 부분에서 아래와 같이 에러가 발생합니다.)

2. late 로 바꾸던 바꾸지 않던 아래 볼드 처리된 코드에서도 에러가 발생합니다.
    해결방법에 대한 가이드 부탁드립니다.
  children: <Widget>[
    const Text('얼굴사진'),
    const Text(
        '${_result.data.current.pollution.aqius}',
           style: TextStyle(fontSize: 40)),
    const Text('보통', style: TextStyle(fontSize: 20)),    ],  ),
==============================================================
  Evaluation of this constant expression throws an exception.
  Invalid constant value.

3. 변수 선언을 아래와 같이 시도했지만 해결되지 않습니다. 참고해주세요.
   1) late AirResult _result;
   2) AirResult? _result;

AirResult android ios 웹앱 Flutter

답변 1

0

오준석

Null Safety에 대한 이해가 부족할 경우에는 Null Safety 적용하지 않고 강의대로 따라 하신 후에 완성본에 Null Safety 적용해 보시는 것을 추천드립니다. 강의 초반에 이에 대한 설명이 있습니다.

만약 이대로 진행중이시라면 Null Safety에 대한 가이드를 제시해 드릴테니 해 보시고요.
StreamBuilder 까지 적용된 버전의 Null Safety 적용 버전을 github에 올려 두겠으니 참고해 주세요.
https://github.com/junsuk5/flutter_airvisual_exam/tree/null-safety

선언부에 late 를 붙였을 경우의 에러 처리 :

에러 메시지를 봐야 알겠지만, UI를 완성하는 부분에서 _result 가 여전히 null 이기 때문에 그럴 수 있습니다.
화면을 그리는 부분에서 이에 대한 처리를 해 줘야 합니다. _result 가 null 일 때 로딩화면을 표시하는 등의 널 처리를 확인합니다.

AirResult? 로 선언한 경우 : 

UI 작성부분에서도 이에 대해 처리를 해 줘야 하며  '${_result.data.current.pollution.aqius}' 의 경우 내부 객체들도 전부 널이 가능한 타입이라고 가정했을 때  '${_result?.data?.current?.pollution?.aqius?}' 와 같은 형태로 수정해야 할 수 있습니다. 중간에 하나라도 null 이면 'null' 글자가 표시될 거고요. 이렇게 되지 않도록 마찬가지로 null 처리가 선행되어야 하겠지요.

ListenableBuilder가 안되요..material import 했는데도 자동완성이 안뜨고 빨간줄이 뜨네요 ..

0

158

2

pubspec.yaml 파일에서 Pub get이 안됩니다.

0

908

1

[네이티브연동 관련 질문]

0

342

1

네이티브코드 연동할때 네이티브 디버깅은 어떻게 하나요?

0

489

1

CartBloc 대체 코드 올립니다.

0

471

2

강사님처럼 코드가 화면 범위 밖으로 나갔을 때 자동으로 줄바꿈은 어떻게 하나요?

0

978

1

ShowSnackBar Undefined 오류

0

427

1

null 관련 오류

0

327

1

화면새로고침 질문.

0

1498

1

flutter 멀티이미지업로드 질문

0

696

1

fluuter php mysql 글작성

0

440

2

플러터 서버에 이미지 저장하기

0

885

1

오류 질문입니다.

0

266

1

강의를 보다 listview 기능에 의문이 생겨 질문드립니다.

0

757

1

inheritedFromWidgetOfExactType 가 없습니다.

0

235

1

The operator '<' can't be unconditionally invoked because the receiver can be 'null'.

0

1119

1

해결이 어려운 부분이 있습니다 ㅠㅠ

0

1253

2

네이티브코드 연동 AS 21.11.11 update 영상 중

0

216

1

특정 함수로의 객체 전달 방법 문의 드립니다.

0

473

1

플러터 최적의 폴더 구조를 잡고 싶습니다.

0

1033

1

mainActive.kt 오류

0

325

1

xcode 오류가 납니다.

0

361

1

dart 2.12 이상 버전에서 json object null safety 처리는 어떻게 하나요?

0

633

1

json to dart

0

181

1