2013-03-11 41 views
2

我需要在NSTextField中自動完成用戶的條目,並且使用NSArray來檢查是否存在匹配,但是NSArray約爲100,000個對象,因此匹配需要很長時間。100000個對象:如何在NSTextField中快速自動完成

我實現此功能的方法是多還是喜歡用同樣的方式建議的少在這裏:

Autocomplete with twitter usernames in text field (cocoa)

有沒有辦法使事情更快?有誰知道更好的方法?

非常感謝。

+1

您應該添加如何處理** completionsForPartialWordRange的示例:indexOfSelectedItem:**這樣人們可以提出建議。另外,你從哪裏閱讀這些100,000個名字? – 2013-03-11 21:38:19

+0

將字符串從文件讀取到數組中。 – uem 2013-03-12 08:40:53

回答

4

我有一個類我只是調用寫NDTrie(和NDMutableTrie),這是basicly樹形結構,其中一個節點的關鍵是字符串的所有的孩子首先,它使搜索與開頭的所有單詞例如'貓'很快,因爲你只需找到鑰匙'貓'的節點,並列舉它和它的所有孩子。除了握住字符串,它也可以容納任何物體。