Open veldic opened 4 years ago
Repository 는 이 Repository 를 사용하는 ViewModel 에 디펜던시가 생기는 건 권장되지 않습니다. Repository 는 함수나 필드의 형태로 데이터를 보여주고 (이때 Reactive 하게 LiveData<List
.subscribe{ it -> ... }
으로 파라미터 it 을 명시적으로 적어주세요. 아마 subscribe
함수의 오버로딩 때문에 람다식의 인자 갯수가 정확히 맞지 않으면 모호한 함수가 되어서 it 과 같은 인자명을(이자 갯수를) 생략하지 말고 꼭 적어줘야 하는 것 같습니다.
1. View <-> ViewModel <-> Repository 의 구조를 가지고 있기 때문에 repository 내에서 RxJava를 통해 data를 불러온다고 이해를 했는데요. 그렇다면 Repository 내에서 subscribe를 통해 ViewModel에 LiveData<List>를 넘겨주면 되는 것인지, 그렇다면 Repository에서 ViewModel을 import해서 사용해야 하는 것인지 궁금합니다.
2. 일단 위에 언급했던 구조를 적용해보고자 MovieRepository에서>를 return하고 subscribe 내에서 it이 List 가 되었기에 fetchDiscoverMovie()는 Single를 return하고 subscribe 내에서 it이 DiscoverResponse가 되길 기대했으나 it이 인식되지 않았습니다.
service.fetchDiscoverMovie()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe{~~}
을 통해서 it을 사용하여 넘겨주려고 했는데 위와 같은 형태에서 it이 인식되지 않아 질문드립니다. lecture 3에서 제시해주셨던 예시 코드에서는 위와 같은 형태의 코드에서 fetch~~()함수에서 Observable<List