SearchBar:动态变化结果
SearchBar: dynamic change results
尝试制作一个搜索栏,根据我点击的字母不断更新 table 视图。喜欢这里: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()
}
}
}
我想念什么?
您需要重新加载 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()
}
}
尝试制作一个搜索栏,根据我点击的字母不断更新 table 视图。喜欢这里: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()
}
}
}
我想念什么?
您需要重新加载 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()
}
}