NSTextField にオートコンプリートを実装できるクラスまたはライブラリを知っている人はいますか?
標準のオートコンプリートを機能させようとしていますが、同期 API として作成されています。インターネット経由で API 呼び出しを介してオートコンプリートの単語を取得します。
これまでに行ったことは次のとおりです。
- (void)controlTextDidChange:(NSNotification *)obj
{
if([obj object] == self.searchField)
{
[self.spinner startAnimation:nil];
[self.wordcompletionStore completeString:self.searchField.stringValue];
if(self.doingAutocomplete)
return;
else
{
self.doingAutocomplete = YES;
[[[obj userInfo] objectForKey:@"NSFieldEditor"] complete:nil];
}
}
}
私の店が終わったら、呼び出されるデリゲートがあります:
- (void) completionStore:(WordcompletionStore *)store didFinishWithWords:(NSArray *)arrayOfWords
{
[self.spinner stopAnimation:nil];
self.completions = arrayOfWords;
self.doingAutocomplete = NO;
}
補完リストを nstextfield に返すコードは次のとおりです。
- (NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(NSInteger *)index
{
*index = -1;
return self.completions;
}
私の問題は、これが常に 1 リクエスト遅れ、完了リストがユーザー入力の 2 文字ごとにしか表示されないことです。
私は狂った男のようにGoogleとSOを検索しようとしましたが、解決策が見つからないようです..
どんな助けでも大歓迎です。