У меня есть представление 'B' с инициализатором, который принимает аргумент.
struct B: View {
let arg: Int
init(arg: Int) {
self.arg = arg
}
var body: some View {
Text("\(arg)")
}
}
И у меня есть навигационное представление 'A'.
'A' имеет одну кнопку, который при нажатии показывает всплывающее окно, где пользователь выбирает число от 1 до 5. Закрытие типа (Int) -> Void
вызывается с выбранным номером.
struct A: View {
@State var showPicker = false
var body: some View {
NavigationView {
Button(action: { self.showPicker = true }) {
Text("Pick Number")
}
.sheet(isPresented: self.$showPicker, content: {
NumberPicker { number in
*** Possible to navigate to B from here? ***
}
})
}
}
}
Вопрос
Можно ли инициализировать представление B с результатом из закрытия, а затем выполнить навигациюк этому?
Раньше это было возможно с DynamicNavigationDestinationLink
, однако Apple устарела и заявила в примечаниях к выпуску, что NavigationLink
теперь содержит свои возможности. Я просмотрел документы, однако не смог выяснить, как использовать NavigationLink для получения того же результата.