Swiftui 迅捷组合为什么可以';不能在init中绑定数据?
我正在尝试一个非常简单的测试,将一个简单的just(“JustValue”)组合到一个属性中。 但它不起作用。Swiftui 迅捷组合为什么可以';不能在init中绑定数据?,swiftui,combine,Swiftui,Combine,我正在尝试一个非常简单的测试,将一个简单的just(“JustValue”)组合到一个属性中。 但它不起作用。 ↓ 这是我的密码 struct ResponseView: View { private var contentCancellable: AnyCancellable? = nil @State var content: String = "InitialValue" var body: some View {
↓ 这是我的密码
struct ResponseView: View {
private var contentCancellable: AnyCancellable? = nil
@State var content: String = "InitialValue"
var body: some View {
Text(content)
}
init() {
contentCancellable = Just("JustValue").assign(to: \.content, on: self)
}
}
有人知道为什么文本显示的是
“InitialValue”
而不是“JustValue”
这是特定于状态属性包装初始化传递的。。。外部状态存储稍后创建,因此仅应用一次初始化
如果您想更新它,请稍后在状态已经创建并链接到视图时进行更新,如
struct ResponseView: View {
@State var content: String = "InitialValue"
var body: some View {
Text(content)
.onAppear {
_ = Just("JustValue").assign(to: \.content, on: self)
}
}
}
用户界面符合您的期望。谢谢Asperi。这管用!。因此,我的代码不能为我的预期工作的原因是
State
属性在init调用时尚未创建?