[flutter]LateInitializationError: Field 'icon' has not been initialized.

2024년 02월 18일 by 진아사랑해

    [flutter]LateInitializationError: Field 'icon' has not been initialized. 목차
반응형

이렇게 선언을 하였더니, 제목과 같은 에러가 나왔습니다.

null-safety에서 가장 흔하게 에러를 정정(?) 즉, 변수에 null을 허용하는 방식으로 대처를 하였습니다.

Error: A value of type 'Widget?' can't be assigned to a variable of type 'Widget' because 'Widget?' is nullable and 'Widget' isn't.

바로 에러가 나옵니다.

바로 위의 내용과 동일한 에러가 나옵니다.

즉, Widget 타입은 nullable이 허용되지 않음으로 초기값을 설정해 주어야 하는 것입니다.

어쩔 수 없이 초기값을 설정해 주었습니다.

 

late 선언자를 사용한 이유는

초기값을 설정하는데 다른 함수를 호출하여 값을 받아와야 하는 경우입니다.

이렇게 선언을 하면 에러가 나옵니다.

21:16: Error: Can't access 'this' in a field initializer to read 'model'.

초기화하는 과정에서는 model() 함수에 접근할 수 없기 때문입니다.

그래서 late선언자를 사용하여 초기화 이후에 초기값을 넣으라는 것을

알려주기 위해 사용하는 것입니다.

 

반응형