오늘의 영화 구현
Search에서 collectionView cell delegate는 구현했다.
하지만 우리는 아직 홈에서 cell을 클릭할때 Play하도록 구현하지 않았다. 해보자
데이터를 갖고 있는 상태에서 바로 띄우는 것도 가능하지만, 좀 다르게 해보자
재생버튼을 누르게 되면 오늘의 영화에 해당하는 title이 있을 것이고, 이를 SearchAPI를 통해 검색을 해서
네트워킹으로 데이터를 받아오고 데이터 안에 존재하는 url을 Player에 전달해서 재생해보겠다.
그런데 토토로는 그냥 지정한 것이지 랜덤으로 지정한 것은 아니다.
핵심은 home에서 header에 있는 데이터를 재생시키는 것이다.
interstella에서 Totoro로 변수명을 변경했다.
Header item의 title을 search의 파라미터로 넘기고 완료하고 받아온 데이터를 movies에 넣는다.
이름이 정확하다면 받아온 아이템은 movies.first에 해당한다.
그 후에는 SearchViewController에서 PlayerViewController에 데이터를 넘겨주고 재생하는 코드와 동일하다.
이렇게 실행을 하면 에러가 발생한다. —> Thread error
현재 작업은 네트워킹이고 그에 맞는 Thread에 의해 Task가 수행된다.
여기서 UI를 건들이는 작업이 있고 main thread checker가 이를 잡아낸 것이다.
그렇다면 이를 main thread로 실행하기 위해 다음과 같이 구현했다.
정상적으로 동작함을 알 수 있다.
'Toy Project > Netflix Style Application(iOS)' 카테고리의 다른 글
10. PlayerView (0) | 2021.05.02 |
---|---|
9. PlayerViewController (0) | 2021.05.02 |
8. Player View 가로모드 구현 (0) | 2021.05.01 |
7. Search 결과 구현 3 - OpenSource Kingfisher (0) | 2021.04.28 |
6. Search 결과 구현 2 - UI Update through MainQueue (0) | 2021.04.28 |