我基本上是在寻找完全匹配,几乎任何搜索处理过滤。
到目前为止,我所看到的所有搜索过滤指南都提供了
let lower = searchBar.text!.lowercaseString
filteredInterestArray = interestsArray.filter({$0.title.rangeOfString(lower) != nil})它基本上给出了如下内容:
“猫”“老鼠”“蝙蝠”“阿特拉斯”
如果你输入"at“,每一个都会出现,而实际上只有阿尔塔才会出现。另外,如果你输入了"stla",地图集就会出现,这显然是非常不直观的。
如何完成正确的过滤?
发布于 2016-09-03 17:42:01
为了实现这一点,您可以使用:)方法而不是rangeOfString方法。
使用:
let lower = searchBar.text!.lowercaseString
filteredInterestArray = interestsArray.filter({$0.title.hasPrefix(lower)})发布于 2016-09-03 17:42:27
NSString提供hasPrefix:来确定一个字符串是否以另一个字符串开头。
OP并不表示interestsArray中的字符串一开始是否是小写的,但如果不是,则必须在检查之前使用迫使他们降低。
https://stackoverflow.com/questions/39309605
复制相似问题