首页 > 解决方案 > 使用对象属性作为绑定变量

问题描述

我有一个名为的结构Answer,它包含几个属性,其中一个是value: String?. 在我的 SwiftUI 应用程序中,我要求用户将他们的答案输入到一个文本字段中,然后我希望将结果保存在答案对象中——如下所示:

struct Answer {
    var id: Int
    var value: String?
}

var answers: [Answer]!

var body: some View {
    ForEach(answers, id: \.id) { answer in
        TextField("Answer \(id.string) here", text: $answer.value)
    }
}

不幸的是,这不起作用。错误信息:

在范围内找不到“$answer”

我不想做的是@State为每个答案创建一个单独的变量,因为我问了一大堆问题,因此想要保存很多答案(我从 API 中得到,所以我不知道会有哪个/多少个答案)。

我该如何实现这样的事情?

标签: swiftswiftui

解决方案


推荐阅读