在自动完成搜索中我想从tableview.i获取数据,下面的代码用于自动搜索但不是自动搜索。如果有人知道,请帮帮我
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring {
// Put anything that starts with this substring into the autocompleteUrls array
// The items in this array is what will show up in the table view
[autoCompleteData removeAllObjects];
for(NSString *curString in pastData) {
NSRange substringRange = [curString rangeOfString:substring];
if (substringRange.length!= 0) {
[autoCompleteData addObject:curString];
}
}
[routeName reloadData];
}
答案 0 :(得分:0)
您需要在每次击键时过滤数据。您可以在textField:shouldChangeCharactersInRange:replacementString:
中捕获文本字段的每次击键。
我建议您只过滤表格视图和reloadData
的数据数组。使用谓词,您可以以闪电般的速度和非常少的代码进行过滤:
autoCompleteData = [currentDataArray filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"self CONTAINS[cd] %@", search text]];