Swift實現模糊查詢方法(NSPredicate)

只對目前需求進行記錄,有問題請大神指出

對模型對象數據進行模糊搜索

例:搜索"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"

**/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容