Прежде всего, вам нужно соответствовать Identifiable
, чтобы определить разницу элементов:
extension Sample: Identifiable {
var id: String { self.name }
}
Затем вы можете отфильтровать ваш массив как data.filter { $0.status == "closed" }
.
Рабочий пример (исключая дополнительные зависимости):
struct ContentView: View {
@State var data = [
Sample(name: "A", status: "active"),
Sample(name: "B", status: "active"),
Sample(name: "C", status: "closed")
]
var body: some View {
ForEach(data.filter { $0.status == "closed" } ) { data in
Text(data.name)
}
}
}