[TIL] 2021.02.11

승아·2021년 2월 11일
0

👩🏻‍💻 오늘 공부한 내용

Search Bar (참고 사이트 )

  • Search Bar Text가 변경될 때 마다 호출되는 함수
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    searchWish()
}
  • 키보드에 있는 search를 누른 후 호출되는 함수
// 키보드 search 버튼 누른 후
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    dismissKeyboard()
    searchWish()
}
  • 그 외 함수
    - SearchBar(:shouldChangeTexttIn:) : 지정된 범위의 값을 주어진 문자열로 대체할지 여부 결정하기 위해 호출되는 함수
    - SearchBarShouldBeginEditing(
    :) : 검색 바에서 편집을 시작했을 때 호출되는 함수
    - SearchBarTextDidBeginEditing(:): 텍스트 편집을 시작했을 때 호출되는 함수
    - SearchBarShouldEndEditing(
    :) : 검색 바에서 편집을 중지할지 여부를 결정할 때 호출되는 함수
    - SearchBarTextDidEndEditing(_:) : 검색 바의 텍스트 편집을 완료했을 때 호출

  • 나의 코드

extension SearchViewController: UISearchBarDelegate{
    
    // 키보드 내리기
    private func dismissKeyboard(){
        searchBar.resignFirstResponder()
    }
    
    private func searchWish(){
        guard let searchTerm = searchBar.text,
              searchTerm.isEmpty == false else {
            self.filterWish = []
            collectionView.reloadData()
            return }
        
        self.filterWish = self.wishViewModel.wishs.filter{
            $0.name.localizedStandardContains(searchTerm)
        }
            
        collectionView.reloadData()
    }
    
    // 텍스트 변경 될 때 마다
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
        searchWish()
    }
        
    // 키보드 search 버튼 누른 후
    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        dismissKeyboard()
        
        searchWish()
    }
}

0개의 댓글