Я думаю, проблема в том, что здесь вы передаете переменные состояния self.$term
и self.$def
, в которых они являются dfs и df. Вместо этого вы должны использовать item.term2
и item.def2
, как в вашем ForEach
List{
ForEach(notecardobject.Notecardsarray){item in
HStack{
TextField("enter term", text: self.$term)
TextField("enter definition", text: self.$def)
}
}
.onDelete(perform: removeItems)
}
Модифицированный код:
List{
ForEach(notecardobject.Notecardsarray){item in
HStack{
TextField("enter term", text: item.$term2)
TextField("enter definition", text: item.$def2)
}
}
.onDelete(perform: removeItems)
}
РЕДАКТИРОВАТЬ: я не вижу TextView
struct в ваших примерах, но если она требует привязки данных, вам нужно будет указать def2
и term2
как @State
, а также сделать их var
вместо let
. Поскольку теперь они будут отправлены в другие представления в качестве государства, вам также понадобится $, указывающий привязку данных. Я внес изменения в вышеуказанный код.
Модифицированный код:
struct Notecard: Identifiable
{
let id = UUID()
@State var term2: String
@State var def2: String
}