Edward v
10
2021-10-17 21:08:37
1
105

flutter nullsafety 관련 질문있습니다. mathod ‘[ ]’ was Called on null error


이해를 돕기 위해 coding 내용에 대해 설명해보겠습니다. 

이 어플은 현재 위치정보를 얻고, 위치에 따른 날씨를 OPENAPI 데이터를 받아서 날씨를 알려주는 어플입니다. 제가 만든것은 아니고 유투버가 코딩하는 그대로 들으면서 따라했습니다. (그당시에는 널 세이프티가 적용되지 않았던 버전이었습니다.)


해당 코드는 6개의 다트 파일로 구성되어 있습.


main - 특별한 기능 X 

Loading 위치정보와 API정보를 취득한 뒤에 - navigator에 의해 weather_screen으로 데이터를 전달합니다. 

my_location - 핸드폰의 위치정보(경도,위도) 정보를 파악한 후에 loading 에 전달합니다.

weather_screen - API 데이터를 모두 받은 뒤에 스크린상에 정보를 보여줍니다. 

Model - 날씨,미세먼지 수치에 따라 UI의 변경을 담당합니다. 

network - 제이슨 데이터를 받은 후에 해당 언어로 변환합니다. 


널 세이프티와 관련된 dart page는 loading, weather_screen, model 입니다. 해당 페이지에서만 널 세이프티를 수정,추가 했습니다.


1. loading





2.weather_screen




3.model





  UI 해당 정보는 모두 weather_screen 에서 구현되고 있습니다. 



My Git : https://github.com/leechanghyunv/untitled6.git


--------------------------------------------------------------------------------------------------


해당 버전은  null safety가 적용되지 않는 버전이기에 처음에는 널 세이프티를 나름적용해보고 수정했지만

A non-null value must be returned since the return type 'Widget' doesn't allow null

라는 error 받았습니다


이후  async, await 구문이 있는것처럼 비동기식 방식으로 진행되기 때문에 해당 변수에 

널값이 있을 수 있다는 것을 인지하고 변수들에 [?, !, late]를 첨가하면서 수정해나갔고 


유튭 댓글에 있는 내용을 참고해 보시는 화면과 같이 변경했습니다만


The mathod ‘[ ]’ was Called on null error 이 나왔고 더 이상 진행을 못하겠습니다. 


여기서 뭘 더 수정해야 할까요 

0
  • 답변 1

  • 멘탈조각
    1k
    2021-10-18 09:57:34

    해당 콜렉션이 널에이블 한지 확인해 보세요.

  • 로그인을 하시면 답변을 등록할 수 있습니다.