Я использовал CoreData
для сбора своих данных, у него есть 2 entities
, которые являются категорией и элементами, каждая категория имеет много связей с элементами, и у меня есть UISearchBar
для фильтрации данных, однако всякий раз, когда я попытка поиска показывает каждый отдельный элемент в сущности Item, что мне нужно сделать, чтобы показать только элементы, относящиеся к самой категории, чтобы она отображала элементы для выбранной категории, мой код показан выше.
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
let request : NSFetchRequest <Item> = Item.fetchRequest()
request.predicate = NSPredicate(format: "name CONTAINS [cd] %@", searchBar.text!)
request.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
do {
itemArray = try context.fetch(request)
} catch {
print(error)
}
tableView.reloadData()
if searchBar.text?.count == 0 {
loadItems()
tableView.reloadData()
DispatchQueue.main.async {
searchBar.resignFirstResponder()
}
}
}
Это код, который показывает мне каждый элемент сущности Item, я думаю, это может быть связано с инициализированным запросом.