我在我的建议数组中匹配一个子字符串来创建一个自动完成文本字段。
func searchAutocompleteEntriesWithSubstring(substring: String)
{
autocompleteUrls.removeAll(keepCapacity: false)
for curString in countries
{
let myString:NSString! = curString as NSString
let substringRange :NSRange! = myString.rangeOfString(substring)
if (substringRange.location == 0)
{
autocompleteUrls.append(curString)
}
}
autocompleteTableView.reloadData()
}
但如果我要搜索的国家/地区是印度,并且我从“ndia”开始搜索,它没有得到建议,它也应该得到建议。
最佳答案
改为使用谓词:
let countries = ["india", "japan", "Indonesia", "bangladesh", "Australia"];
let predicate = NSPredicate(format: "SELF contains[c] %@", "ndia")
let autocompleteUrls = countries.filter { predicate.evaluateWithObject($0) }
print(autocompleteUrls) // output: ["india"]
关于ios - 在 Swift 中搜索字符串中的子字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39762988/