인프런 커뮤니티 질문&답변

kimmeanseo님의 프로필 이미지
kimmeanseo

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Dart #4 비동기 프로그래밍 (Async Programming)

비디오플레이어 강의 / initialize 함수의 쓰임?

작성

·

200

0

스크린샷 2024-02-01 192945.png스크린샷 2024-02-01 192247.png비디오플레이어 강의 중 이 부분에서 질문할 것이 많습니다...

질문1. initialize() 함수가 컨트롤러를 초기화하는 함수라고 말씀하셨는데, 바로 윗 줄에서 컨트롤러가 관리할 파일을 고른 것 아닌가요? 바로 초기화시키는 이유가 궁금합니다.

 

질문2. initState안에서 어떻게 바로 setState를 실행시킬 수 있는지 궁금합니다. setState는 build가 실행된 후 clean인 상태에서만 실행할 수 있는 것 아닌가요?

 

질문3. 질문2와 이어지는 질문인데요, 이 전체적인 state의 라이프사이클이 어떻게 돌아가는지 궁금합니다.

 

이 전 프로젝트까지는 어찌어찌 잘 따라왔는데 갑자기 벽에 막힌 기분이네요 ㅜㅜ 긴 글 읽어주셔서 감사합니다.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

1) 고른 파일로 영상을 실행 가능한 상태로 만드는겁니다.

2) initState에서 실행한게 아니라 initializeController 안에서 실행했고 initializeController는 async 함수입니다. initState는 동기 함수이기 때문에 initializeController 함수의 실행을 전부 기다리지 않고 종료합니다. 결국 build까지 실행되는 사이클까지 넘어가기 때문에 에러가 안나는겁니다.

3) 달라지는건 하나도 없습니다. initState는 state가 생성될때 단 한번만 실행되고 setState가 실행되면 build() 함수가 다시 실행됩니다.

감사합니다!

kimmeanseo님의 프로필 이미지
kimmeanseo

작성한 질문수

질문하기