컨텍스트 : UISearchController가 구현 된지도보기가 있습니다. 검색 컨트롤러는 그 결과를 다른 테이블보기 컨트롤러에 표시합니다.UISearchController보기를 닫으려면 어떻게해야합니까?
동일한보기 내에서 검색 컨트롤러를 닫는 방법을 설명하는 this answer이 있습니다. 그러나 내 결과 페이지는 원래 페이지와 다른보기입니다. 내가 가지고있다
let resultsPage = ResultsTableViewController()
let searchController = UISearchController(searchResultsController: resultsPage)
이제 검색 컨트롤러가 결과를 얻으면 테이블보기 컨트롤러에 표시합니다. 사용자가 결과 중 하나를 선택하면이보기를 닫고지도보기로 돌아가서 선택 사항을 전달하려고합니다. 나는 이것을 segue로해야 하는가, 아니면 더 나은 프로그램 가능한 접근법이 있는가?
나는 궁극적으로이 같은 일을 끝내었다. segue는 깨끗하지 않았으므로 didSelect를 사용하여 맵보기로 값을 다시 전달한 다음 self.dismissViewControllerAnimated라는 이름으로 맵보기의 검색 기능을 완성했습니다. 값을 전달하기 위해 ResultsTableViewController 내부에 MapViewController에 대한 참조가 있습니다. 나는 원래 질문에 나와있는 것처럼 ResultsTableViewController를 만든 다음 resultsPage.mapView = self라고 말합니다. –