アプリにオートコンプリートメソッドを実装しようとしています。タイプ文字を入力すると、最初の文字に一致する単語が返されます。たとえば、「B」または「ba」と入力すると、「Ballon」や「Ball」のように「ba」で始まる文字列が返されます。しかし、私の配列には、「(」または「スペース」で区切られた複数の単語を含む文字列があります。例「ホワイトボール」または「ジャイアント(ビッグ)」。これらの文字列も取得する必要があります。ヘルプ高く評価されます。
これが私が使用しているコードです、
- (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];
}
ありがとう