2014-03-06 4 views
0

UITearchView의 셀을 필터링하기 위해 UISearchBar 및 UISearchDisplayController가 올바르게 구현되었습니다.UISearchDisplayController가 때때로 작동하는 이유는 무엇입니까?

때로는 제대로 작동하고 입력 된 검색어에 따라 셀을 필터링합니다. 하지만 코드 라인을 변경하지 않고 필터를 적용하지 않고 모든 셀을 표시하는 경우도 있습니다.

tableView 대리인에서 아래의 IF 문은 FALSE이고 따라서 모든 연락처가 검색 결과로 searchResultsTableView에 표시됩니다.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if (tableView == self.searchDisplayController.searchResultsTableView) 
    { 
     return [_searchResultContacts count]; 
    } 
    else 
    { 
     return [_allContacts count]; 
    } 
} 

왜 그렇습니까?

(나는 아래의 대답을 게시 할 예정입니다, 대답하지 마십시오!)

답변

0

이유는 내가 실수로 스토리 보드에서 같은보기에서 여러 UISearchDisplayControllers을 추가 한 것이 었습니다.

Xcode의 문서 개요 창에서봤을 때까지 겹쳐져있어서 알지 못했습니다.

enter image description here

하나를 제외한 모든 검색 디스플레이 컨트롤러를 제거한 후, 그것을 잘했다. 콘센트 연결이 올바르게 설정되어 있는지 확인하십시오.

시간을내어 알아 보니 누군가에게 도움이되기를 바랍니다.

관련 문제