概览
GMSAutocompleteFetcher 是较低级别的自动填充 API 的封装容器,封装了在用户输入内容时请求自动填充联想查询的一些复杂性。
调用 sourceTextHasChanged 通常会导致在调用提供的委托时,系统针对查询的文本提供自动补全预测结果,具体如下:
- 如果在较短时间内发出了多个请求,则提取器不一定会在每次调用 sourceTextHasChanged 时都请求预测。
- 仅当预测结果针对的是最近一次调用 sourceTextHasChanged 时提供的文本时,代理才会通过预测结果调用。
公开成员函数 | |
(实例类型) | - initWithFilter: |
初始化提取器。 | |
(void) | - provideSessionToken: |
提供 GMSAutocompleteSessionToken 来跟踪特定的自动补全查询流程。 | |
(void) | - sourceTextHasChanged: |
通知提取程序要自动填充的源文本已更改。 | |
属性 | |
id < GMSAutocompleteFetcherDelegate > | 委托 |
接收自动补全预测结果通知的委托。 | |
GMSAutocompleteFilter * | autocompleteFilter |
要应用于自动补全建议的过滤器(可以是 nil)。 |
成员函数文档
- (instancetype) initWithFilter: | (可为 null 的 GMSAutocompleteFilter *) | filter |
初始化提取器。
- 参数:
-
filter 要应用于结果的过滤条件。此参数可以为 nil。
- (void) provideSessionToken: | (可为 null 的 GMSAutocompleteSessionToken *) | sessionToken |
提供 GMSAutocompleteSessionToken
来跟踪特定的自动补全查询流程。
- (void) sourceTextHasChanged: | (nullable NSString *) | 文本 |
通知提取程序要自动填充的源文本已更改。
此方法只能从主线程调用。从其他线程调用此方法将导致出现未定义的行为。对 GMSAutocompleteFetcherDelegate
方法的调用也会在主线程上调用。
此方法是非阻塞的。
- 参数:
-
PLAIN_TAXT; 要自动补全的部分文本。
属性说明
- (id<GMSAutocompleteFetcherDelegate>) delegate [read, write, assign] |
接收自动补全预测结果通知的委托。
- (GMSAutocompleteFilter*) autocompleteFilter [read, write, assign] |
要应用于自动补全建议的过滤器(可以是 nil)。