sguruapp@gmail.com
facebook vk instagram Одноклассники youtube

Реализация поиска в TableView - используя метод array.filter и searchBar - Swift 5


UserTrackNumbers - массив с данными
UserTrackNumbersDefault - такой же массив с данными

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
// Если нужно
let myCell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! TableViewCell1
myCell.dirNotCategory.text = "Текст"
// Если нужно

// Проверяем, если текст пустой
if searchText.isEmpty {
UserTrackNumbers = UserTrackNumbersDefault
self.tableView.reloadData()
}else {
filterTableView(text: searchText)
self.tableView.reloadData()
}


// Если массив пуст - мы ничего не нашли....
if UserTrackNumbers.count == 0 {
// Если нужно
myCell.dirNotCategory.text = "Не найдено"
// Если нужно
print("Не найдено!")
} else {
print("Нашли!")
// Если нужно
myCell.dirNotCategory.text = "Pavlin -весь город, как на ладони!
// Если нужно
}
}


// Метод для поиска - или же фильтрация массива
func filterTableView(text:String) {
UserTrackNumbers = UserTrackNumbersDefault.filter({ (mod) -> Bool in

let searchString = mod.track_number! + mod.track_comment!
return searchString.lowercased().contains(text.lowercased())
})
self.tableView.reloadData()
}

Возврат к списку

обучись профессии будущего

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего