Как мне отфильтровать список с помощью строки поиска в swiftui

#swift #swiftui #swiftui-list

#swift #swiftui #swiftui-список

Вопрос:

Как мне отфильтровать список с помощью строки поиска в SwiftUI.

Это то, что я делал до сих пор, он показывает всю информацию в списке, но список не фильтрует информацию.

 ForEach(
  (0..<self.appData.myJobs.count).filter(
    { "($0)".contains(searchBar.text) || searchBar.text.isEmpty  }), 
  id: .self) { index in
  

Спасибо.

Ответ №1:

Теперь вы пытаетесь фильтровать индексы (например, 1, 2, 3 …), Но я предполагаю, что вы пытаетесь фильтровать по некоторым текстам, поэтому это должно быть что-то вроде (я не знаю ваших свойств задания, так что это просто предположение, но идея должна быть ясна)

 ForEach(
  (0..<self.appData.myJobs.count).filter({ i in // << here you get index 
      // assuming you have .jobTitle property in Job and want to filter by it
      // so just substitute your property
      self.appData.myJobs[i].jobTitle.contains(searchBar.text) || 
      searchBar.text.isEmpty }), 
  id: .self) { index in