Вы можете использовать переменную @State
в качестве привязки.В качестве альтернативы вы можете использовать переменную @EnvironmentObject
, которая использует BindableObject
.
. Я думаю, вам нужно вызвать presentation
в корневом представлении, чтобы заставить его работать, добавив его к Stack
, Group
и т. Д., Похоже, не работает.
Этот фрагмент, похоже, помогает.Обратите внимание, что для переменной @State
задано значение false после прекращения оповещения.
struct ContentView: View {
@State var showsAlert = false
var body: some View {
Button(action: {
self.showsAlert = true
}, label: {
Text("asdf")
}).presentation($showsAlert, alert: {
Alert(title: Text("Hello"))
})
}
}