[Toy] 영화 예고편 어플 - 3(추가)

희희희·2022년 1월 10일
0

구현한 것

검색 History를 눌렀을 때 해당 검색어에 대한 결과화면이 나오도록 구현하였다.

이미 다 만들어져있어 SearchViewController에서 tableViewDelegate에 didSelectRowAt에 대한 함수만 추가해주었다.


UITableViewDelegate

  • 전체 코드
extension SearchViewController: UITableViewDelegate {
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let sb = UIStoryboard(name: "Result", bundle: nil)
        let vc = sb.instantiateViewController(withIdentifier: "ResultView") as! ResultViewController
        vc.modalPresentationStyle = .fullScreen
        self.present(vc, animated: true, completion: nil)
        
        vc.searchLabel.text = searchTerms[indexPath.row].term
        
        SearchAPI.search(searchTerms[indexPath.row].term) { movies in
            DispatchQueue.main.async {
                vc.movies = movies
                vc.resultCollectionView.reloadData()
            }
        }
    }
}

다른 뷰컨트롤러에서와 마찬가지로 ResultViewControll가 있는 스토리보드를 선언해주고 뷰컨트롤러를 instantiateViewController를 이용해 지정해주었다.

searchTerms에 term이 저장되어 있으므로 이를 이용해 ResultViewController에서의 라벨 값을 정해주었다.

그리고 결과 화면을 CollectionView로 띄우기 위해 이전에 사용했던 SearchAPI를 라벨에 보내준 searchTerms[indexPath.row].term값으로 검색하여 결과화면을 띄웠다.


HomeView를 완성시키고 싶은데 잘 되지않는다ㅠㅠ 조금 더 기간을 갖고 계속 생각해봐야겠다.

profile
iOS 어플 개발 연습

0개의 댓글