Swiftui 来自另一个绑定值的init state变量-初始化前自用的变量

Swiftui 来自另一个绑定值的init state变量-初始化前自用的变量,swiftui,Swiftui,我试图用一个条件子句初始化一个切换选择器。如果显示“自由”计划,则默认情况下应选择该计划(选项3)。我正在努力从绑定showFreeversion初始化状态 struct PricingView: View { @Binding var isPresented: Bool @Binding var showFreeVersion: Bool @State private var selectedPrice: Int init(isPresented: B

我试图用一个条件子句初始化一个切换选择器。如果显示“自由”计划,则默认情况下应选择该计划(选项3)。我正在努力从绑定showFreeversion初始化状态

struct PricingView: View {
    @Binding var isPresented: Bool
    @Binding var showFreeVersion: Bool
    @State private var selectedPrice: Int
    
    init(isPresented: Binding<Bool>, showFreeVersion: Binding<Bool>) {
        self._isPresented = isPresented
        self._showFreeVersion = showFreeVersion
        self.selectedPrice = showFreeVersion.wrappedValue ? 3 : 0
    }
但是如果我将状态初始化为0,如果有免费版本,默认情况下它不会更改为3


非常感谢,

您应该如下初始化状态

init(isPresented: Binding<Bool>, showFreeVersion: Binding<Bool>) {
    self._isPresented = isPresented
    self._showFreeVersion = showFreeVersion
    self._selectedPrice = State(initialValue: showFreeVersion.wrappedValue ? 3 : 0)
}
init(isPresented:Binding,showFreeVersion:Binding){
self.\u isPresented=isPresented
self.\u showFreeVersion=showFreeVersion
self.\u selectedPrice=State(初始值:showFreeVersion.wrappedValue?3:0)
}
init(isPresented: Binding<Bool>, showFreeVersion: Binding<Bool>) {
    self._isPresented = isPresented
    self._showFreeVersion = showFreeVersion
    self._selectedPrice = State(initialValue: showFreeVersion.wrappedValue ? 3 : 0)
}