-3
我想用一個數組實現一個UIsearchBar
。我有一個城市名稱陣列。我如何使用表視圖實現它?如何用UISearchBar委託和一個數組來處理?
我想用一個數組實現一個UIsearchBar
。我有一個城市名稱陣列。我如何使用表視圖實現它?如何用UISearchBar委託和一個數組來處理?
首先,您應該設置UISearchBar
的代表並創建一個帶有過濾結果的其他NSMutableArray
。您的UITableView
的dataSource現在將發佈這個新陣列。
然後,添加委託方法是這樣的:
-(void)searchBar:(UISearchBar*)searchBar textDidChange:(NSString*)text {
filteredTableData = [[NSMutableArray alloc] init];
for (Food* food in allTableData)
{
NSRange nameRange = [food.name rangeOfString:text options:NSCaseInsensitiveSearch];
NSRange descriptionRange = [food.description rangeOfString:text options:NSCaseInsensitiveSearch];
if(nameRange.location != NSNotFound || descriptionRange.location != NSNotFound)
{
[filteredTableData addObject:food];
}
}
[self.tableView reloadData];
}
對於完整的代碼,在這裏看到:Filtering a UITableView with a search bar
希望這有助於。
什麼是「食物」。我是ios新手。所以你可以告訴我.. –
我看到完整的代碼但不理解,什麼是「食物」。這是任何類型的數據類型或類的typedef。 –
對不起,沒有包含所有信息。食物是存儲在數組中的對象的(自定義)類型。假設你存儲城市名稱,你的類型可能是NSString。用NSString替換食物。如果你提供一些代碼,我會進一步幫助你。 – AnthoPak