Open veldic opened 4 years ago
DiscoverActivity 에서 viewModels
라는 koin의 function 으로 DI 가 시작됩니다.
viewModels
는 해당 제네릭에 맞는 ViewModel (DiscoverViewModel
) 을 주입 시도합니다.DiscoverViewModel
은 생성자에서 MovieRepository
주입이 필요합니다.MovieRepository
인 provider( single { MovieRepository(get()) }
) 를 찾고 주입 시도 합니다.질문의 맥락을 정확히 이해하지는 못하겠지만, MVVM 에서 ViewModel 은 결국 View 가 데이터를 읽어오는(observe, subscribe 하는) 데이터의 근원이기 때문에 그에 맞는 역할을 할 수 있도록 코드를 짜시면 될 것 같습니다.
2번의 경우 뼈대 코드를 수정하는 과정에서 koin에서 제공받는 부분을 삭제해서 그런거였습니다...!
assignment 3 specification에 보면 (뼈대코드의 DI 모듈에서 알아서
MovieRepository
로 inject 됩니다.) 라고 되어 있는데 결국 MainActivity에서 ViewModel에 Repository 를 넣어서 선언해서 사용해줘야 하는데 이 또한 자동으로 되는지의 여부 (아마 될 것 같기는 합니다)그렇다면 이렇게 inject된 ViewModel을 어떻게 사용해야 하는것인지? lecture 4에서 보여주셨던 예시 코드와 skeleton files에 있는 코드들의 형태가 유의미하게 다른 부분이 많은 것 같아 질문드립니다.