根据我点击的字母,尝试制作一个具有不断更新表视图的搜索栏。就像这里:https://koenig-media.raywenderlich.com/uploads/2019/08/candy-typing.gif
extension EmotionsContoller: UISearchBarDelegate {
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
if searchBar.text!.count > 1 {
let request: NSFetchRequest<Array> = Array.fetchRequest()
let predicate = NSPredicate(format: "name CONTAINS[cd] %@", searchBar.text!)
request.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
loadArray(with: request, predicate: predicate)
}
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchBar.text?.count == 0 {
loadArray()
DispatchQueue.main.async {
searchBar.resignFirstResponder()
}
}
}我错过了什么?
发布于 2020-03-06 17:00:17
您需要重新加载tableView的数据。
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchBar.text?.count == 0 {
loadArray()
DispatchQueue.main.async {
searchBar.resignFirstResponder()
} else if searchBar.text!.count > 1 {
let request: NSFetchRequest<Array> = Array.fetchRequest()
let predicate = NSPredicate(format: "name CONTAINS[cd] %@", searchBar.text!)
request.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
loadArray(with: request, predicate: predicate)
tableView.reloadData()
}
}https://stackoverflow.com/questions/60568436
复制相似问题