如何使用 HTAutocompleteTextField 实现我自己的数据源?

How do I implement my own data source with HTAutocompleteTextField?

在 gitub 上,他们有一个名为 HTAutoCompleteTextField 的 class,它为 UITextFields 生成自动填充。我的问题是,如何向其中添加自己的数据源?

正确的方法,显然是

- (NSString *)textField:(HTAutocompleteTextField *)textField completionForPrefix:(NSString *)prefix ignoreCase:(BOOL)ignoreCase

但是,如果我有一个字符串数组,我该如何 return 数组?

每次 HTAutoCompleteTextField 中的文本更改时都会调用该数据源方法。您在该方法中所做的是过滤字符串数组以根据输入找到最适合的字符串。

例如,我们用它来自动完成电子邮件地址域名。我们有一系列不同的域,我们确定哪个域与文本最匹配。一旦我们确定了最佳匹配,我们 return 该字符串。

您可以在 HTAutocompleteManager.m 中看到该方法的实现。