앞선 ViewModel사용하기 에서는 ViewModel을 사용하기 위해 복잡한 과정을 거쳤다.
private val viewModel by lazy {
ViewModelProvider(this).get(MainViewModel::class.java)
}
위와 같은 방식으로 초기화를 할 때는 ViewModelProvider을 통해서 초기화를 진행했다. 하지만 이런 방식은 반복적으로 하기엔 귀찮을 수 밖에 없다.
이를 대체 할 방법을 알게되어 기록해놓는다.
def ktx_version = "1.5.4"
implementation "androidx.fragment:fragment-ktx:$ktx_version"
fragment-ktx의 최신버전은 공식문서에서 확인 가능하다.
private val myViewModel by viewModels<CountViewModel>()
fragment-ktx 라이브러리를 통해 by viewModels 키워드를 사용하면 복잡한 ViewModelProvide을 통한 초기화 과정을 거치지 않아도 된다.