只对目前需求进行记录,有问题请大神指出
对模型对象数据进行模糊搜索
例:搜索"ai"可搜到"shanghai", "alibaba", "iqiyiba"
let searchText = searchController.searchBar.text
if searchText == nil || searchText == "" {
return
}
var str: String = "*"
for character in searchText!.characters {
str.append("\(character)*")
}
let preicate = NSPredicate.init(format: "stringName LIKE[c] %@", str)
self.searchDataSource = self.dataSource.filtered(using: preicate) as! NSMutableArray
/**
searchDataSource为搜索结果数据模型,dataSource为数据模型
1、使用LIKE谓词并且使用 "*a*i*" 格式,匹配搜索"ai"可搜到"shanghai", "alibaba"
2、使用CONTAINS谓词并且直接使用 "ai" 搜索,只可搜到"shanghai"
**/