Я предлагаю вам изменить процесс фильтрации (что-то вроде этого):
func filterContentForSearchText(_ searchText: String) {
let pred = NSPredicate(format: "name contains[cd] %@", searchText)
filteredHotels = hotelList?.filtered(using: pred) as? [hotelsModel]
tableView.reloadData()
}
и изменить переменную isSearching на:
var isSearching: Bool {
return searchBar.text != ""
}
Используйте отладчик, чтобы увидетьЗначение indexPath.row в строке, которая вызывает ваш сбой.