在我的updateSearchResultsForSearchController
方法中,我有一个用于查找匹配项的searchPredicate,但是,我想学习如何将它与Object的属性一起使用。
我有一个名为Product
的对象,它有一个名为title
的String属性,我想将其用作搜索参数。到目前为止,这就是我的搜索功能:
func updateSearchResultsForSearchController(searchController: UISearchController) {
productSearchResults.removeAll(keepCapacity: false)
let searchPredicate = NSPredicate(format: "SELF CONTAINS[c] %@", searchController.searchBar.text)
let array = (orderGuideItemsList as NSArray).filteredArrayUsingPredicate(searchPredicate)
productSearchResults = array as! [Product]
self.tableView.reloadData()
}
其中orderGuideItemsList
是Product
个对象的数组
那么我可以根据Proudct
的{{1}}属性进行搜索吗?它不必使用谓词,但这是我之前的教程中的内容。
谢谢!
答案 0 :(得分:1)
您可以将谓词更新为
let searchPredicate = NSPredicate(format: "SELF.title CONTAINS[c] %@", searchController.searchBar.text)
这应该可以正常工作。