在自动完成搜索中,我想从tableview中获取数据

时间:2013-03-29 13:27:23

标签: iphone ios objective-c

在自动完成搜索中我想从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];
}

1 个答案:

答案 0 :(得分:0)

您需要在每次击键时过滤数据。您可以在textField:shouldChangeCharactersInRange:replacementString:中捕获文本字段的每次击键。

我建议您只过滤表格视图和reloadData的数据数组。使用谓词,您可以以闪电般的速度和非常少的代码进行过滤:

autoCompleteData = [currentDataArray filteredArrayUsingPredicate:
  [NSPredicate predicateWithFormat:@"self CONTAINS[cd] %@", search text]];