Почему фильтр поиска работает на слишком высоком уровне? - PullRequest
0 голосов
/ 26 октября 2019

Мой список, управляемый coreData, работает правильно, но панель поиска не работает на нужном уровне, она выполняет поиск на более высоком уровне? Итак ... Вместо того чтобы фильтровать имена в списке, кажется, что он сфокусирован на имени самой модели данных ... НЕ на содержимом модели, как я ожидал.

Я подумал, что, возможно, мне нужнодобавить дополнительный оператор ForEach чуть ниже первого, но я не могу заставить его работать.

Проект WIP здесь https://github.com/my4paws/DogBiz-swiftui

List {
    ForEach(self.dogListVM.dogs.filter {
        self.searchTerm.isEmpty ?
        true :
        "\($0)".localizedCaseInsensitiveContains(self.searchTerm)
     }, id: \.dogName) { dog in

     // I need to drill down a level here for searchbar to function...How???
     // ATM search is only filtering the name of the model (ie: DogViewModel) NOT the contents of that model
     // The List cells are already displayed correctly

     NavigationLink(destination:DogView(dog: dog)) {
         HStack{
             // List cell code here works already!
         }

Поскольку ячейки списка работаюткак они уже должны с этим кодом, я ожидал, что поиск будет работать на том же уровне. Но это не так.

...