2014-03-06 89 views
0

我有一個UISearchBar和UISearchDisplayController正確實施,以過濾UITableView中的單元格。爲什麼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

刪除所有,但一個搜索顯示控制器後,它工作得很好。 確保出口連接設置正確。

花了一些時間找出來,所以我希望這對某人有幫助。

相關問題