SwiftUI - Как получить доступ к данным в списке

Я хотел бы изменить значение в списке. Вот что у меня есть:

struct ExpenseItem {
    let value : String
    let currency : String
    let shopName : String
    let code : String
}

final class Expenses: ObservableObject {
    @Published var items = [ExpenseItem]()
}

Как я могу получить доступ к этим данным сейчас? Это не работает следующим способом. Это говорит

Значение типа '[ExpenseItem]' не имеет члена 'value'

@EnvironmentObject var expenses: Expenses
@State private var value = ""

var body: some View {
        Form() {
            Section(header: Text("Wert")) {
                TextField(self.expenses.items.value, text: $value)

Всего 1 ответ


Используйте ForEach для перебора всех items :

@EnvironmentObject var expenses: Expenses

var body: some View {
    Form() {
        Section(header: Text("Wert")) {
            ForEach(0 ..< self.expenses.items.count) { i in
                TextField(self.expenses.items[i].value, text: self.$expenses.items[i].value)
            }
        }
    }
}

Есть идеи?

10000