0

검색 막대의 입력을 기반으로 가능한 주소를 나열하는 데 tableView를 사용하고 싶습니다. 원하는 주소가 포함 된 셀을 선택한 후 검색 막대 텍스트는 주소로 구성되지만 가능한 주소 (셀)가 사라지게하고 싶습니다. didSelectRowAt의 self.searchResultsTableView.reloadData()가 모든 셀을 지우거나 다른 명령이 있습니까? 나는 반복하지 않고 적절한 주소를 선택하고 제안을 통해 더 많은 세포를 도입 한 후 세포를 제거하는 방법을 확신하지 못한다.Swift 3.0 검색 막대 자동 완성 주소

+0

선택했을 때 검색 창에서 선택한 값을 설정하고 tableview를 숨길 수 있습니다. –

답변

1

tableView를 지우려면 데이터 소스 배열을 비운 다음 tableView를 다시로드해야합니다.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    tableView.deselectRow(at: indexPath, animated: true) 

    let completion = searchResults[indexPath.row] 

    let searchRequest = MKLocalSearchRequest(completion: completion) 
    let search = MKLocalSearch(request: searchRequest) 
    search.start { (response, error) in 
     let coordinate = response?.mapItems[0].placemark.coordinate 
     print(String(describing: coordinate)) 
     print(response?.mapItems) 
     self.searchBar.text = response?.mapItems[0].name 
    } 

    //Make empty your array ant then reload tableView 
    searchResults = [] 
    self.searchResultsTableView.reloadData() 
}