【发布时间】:2021-10-11 05:07:33
【问题描述】:
我有一个 View 和一个 ViewModel,想在 ViewModel 中设置一些变量,然后在 View 中读取并设置它们。在 ViewModel 中,我有一个 @Published 变量。当我尝试在视图中修改变量的值时,我得到的错误是:'无法分配给属性:'$testModel' 是不可变的'和'无法将'String'类型的值分配给'Binding'类型。有没有办法做到这一点?我现在的代码如下:
查看
struct TestView: View {
@ObservedObject var testModel: TestViewModel = TestViewModel()
var body: some View {
VStack(alignment: .center, spacing: 4) {
Button(action: {
$testModel.test = "test2"
}) {
Text("[ Set value ]")
}
}
}
}
视图模型
class TestViewModel: ObservableObject {
@Published var test = "test"
}
【问题讨论】:
标签: view swiftui properties binding viewmodel