如何使用 UISearchBar Delegate 和一个数组?
Posted
技术标签:
【中文标题】如何使用 UISearchBar Delegate 和一个数组?【英文标题】:How to word with UISearchBar Delegate and an array? 【发布时间】:2016-06-16 13:10:01 【问题描述】:我想用数组实现UIsearchBar
。我有一个带有城市名称的数组。如何用表格视图实现它?
【问题讨论】:
【参考方案1】:首先,您应该设置UISearchBar
的委托,并创建另一个具有过滤结果的NSMutableArray
。 UITableView
的数据源现在将在这个新数组上发布。
然后,像这样添加委托方法:
-(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
希望这会有所帮助。
【讨论】:
我看到完整的代码但不理解,什么是“食物”。这是来自任何数据类型或类的任何类型的类型定义吗? 抱歉没有包含所有信息。 Food 是存储在数组中的对象的(自定义)类型。假设您存储城市名称,您的类型可能是 NSString。用 NSString 替换 Food。如果您提供一些代码,我会进一步帮助您。 嘿,这是我的表格视图,我想从 responseArr 中搜索状态。 .. NSString *city = [[responseArr valueForKey:@"city"]objectAtIndex:indexPath.row];以上是关于如何使用 UISearchBar Delegate 和一个数组?的主要内容,如果未能解决你的问题,请参考以下文章
UISearchBar作为inputAccessoryView时的响应链