Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos NSTokenField异步自动完成_Macos_Cocoa_Asynchronous_Autocomplete_Nstokenfield - Fatal编程技术网

Macos NSTokenField异步自动完成

Macos NSTokenField异步自动完成,macos,cocoa,asynchronous,autocomplete,nstokenfield,Macos,Cocoa,Asynchronous,Autocomplete,Nstokenfield,我使用委托方法实现了NSTokenField的自动完成功能: - (NSArray *)tokenField:(NSTokenField *)tokenField completionsForSubstring:(NSString *)substring indexOfToken:(NSInteger)tokenIndex indexOfSelectedItem:(NSInteger *)selectedInde

我使用委托方法实现了NSTokenField的自动完成功能:

- (NSArray *)tokenField:(NSTokenField *)tokenField 
             completionsForSubstring:(NSString *)substring 
             indexOfToken:(NSInteger)tokenIndex 
             indexOfSelectedItem:(NSInteger *)selectedIndex
{
    return @[@"Token 1", @"Token 2", @"Token 3"];
}
…它可以很好地与硬编码数组或任何可以在我的应用程序中本地创建的数组配合使用。当用户在token字段中键入时,我需要从服务器下载token。我使用AF2异步获取给定子字符串的令牌。不幸的是,我找不到用异步流实现自动完成的方法。我注意到,如果返回completions数组的时间太长,委托方法将冻结UI,因此从这一点上向服务器发出同步请求不是一个解决方案。文档也没有告诉我如何异步实现自动完成。也许它需要一些更复杂的解决方案,只需使用
NSTextField
delegate方法。任何帮助都将不胜感激