Swiftui 迅捷组合为什么可以';不能在init中绑定数据?

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 {

我正在尝试一个非常简单的测试,将一个简单的just(“JustValue”)组合到一个属性中。 但它不起作用。
↓ 这是我的密码

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调用时尚未创建?