我有一个填充NSTableView
的NSMutableArray
。字符串形式:dog, cat, duck, cow, moose, nil
。我有我的NSTableView上面的搜索栏,并想选择在表视图中有最接近匹配的字符串我搜索(在搜索栏)的项目。有什么简单的方法吗?
您可以计算搜索字符串和表中的字符串之间的距离度量。然后选择距离值最小的元素。
计算距离度量的一种方法是使用Levenshtein距离算法。可以在这里找到一个实现。
也可以搜索部分匹配:
if ( [titleWord rangeOfString:searchWord options:NSCaseInsensitiveSearch].length > 0 )
或者,如果您想查找以搜索字符串开头的单词:
if ( [titleWord.lowercaseString hasPrefix:searchWord.lowercaseString] )