100000个对象:如何快速在NSTextField中自动完成

时间:2013-03-11 21:22:07

标签: objective-c performance cocoa autocomplete nstextfield

我需要在NSTextField中自动填充用户的条目,并使用NSArray检查是否存在匹配但NSArray大约是100,000个对象,因此匹配需要一段时间。

我实现此功能的方式或多或少与此处建议的方式相同:

Autocomplete with twitter usernames in text field (cocoa)

有没有办法让事情变得更快?有谁知道更好的方法吗?

非常感谢。

2 个答案:

答案 0 :(得分:4)

我有一个我为其编写的类NDTrie(和NDMutableTrie),它基本上是一个树结构,其中节点的键是其所有子节点开头的字符串,它使例如,快速搜索所有以'cat'开头的单词,因为你只需要找到关键'cat'的节点以及它上面的枚举及其所有子节点。除了持有字符串,它还可以容纳任何对象。

答案 1 :(得分:2)

this answer的Github回购相关联的PJTernarySearchTree评论。你可以尝试一下。