我正在尝试在应用程序中实现自动完成方法。当我键入类型字符时,它会返回与第一个字符匹配的单词。例如,如果我输入“B”或“ba”,它会返回以“ba”开头的字符串,如“Ballon”和“Ball”。但是在我的数组中,有多个单词的字符串由“(”或“空格”分隔。例如“白球”或“巨人(大)”。我也需要获取这些字符串。任何帮助将不胜感激。
这是我正在使用的代码,
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
autocompleteTableView.hidden = NO;
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
}
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring {
[autocompleteList removeAllObjects];
for(NSString *curString in contentArray)
{
NSRange substringRange = [curString rangeOfString:substring options:NSCaseInsensitiveSearch];
if (substringRange.location == 0)
{
[autocompleteList addObject:curString];
}
}
[autocompleteTableView reloadData];
}
谢谢