Привязка к привязке в Swift

#swiftui

#swiftui

Вопрос:

NavigationLink s selected параметр принимает привязку, но моя ObservedObject переменная Bool не является необязательным значением. Как преобразовать его, чтобы выбранный принял его?

Код:

 class RegistrationFlowEnvironment: ObservableObject {
    
    @Published var done = false
}
  

представление:

 struct ContentView: View {
    @ObservedObject var regFlowEnv = RegistrationFlowEnvironment()
    
    var body: some View {
        NavigationView {
            VStack{
                NavigationLink("Go to other place", destination: Dest(),
                               tag: true,
                               selection: $regFlowEnv.done)
            }
        }
    }
}
  

Ответ №1:

Вот исправленный вариант (протестирован с Xcode 11.7 / iOS 13.7)

 NavigationView {
    VStack{
        NavigationLink("Go to other place", destination: Text("Dest"),
                       tag: true,
                       selection: Binding($regFlowEnv.done))
    }
}