Когда мы передаем переменную привязки (например, $ saveDialog как true) для предупреждения или листа, после этого переменная будет сброшена на false.
.alert(isPresented: $saveDialog) {}
Но что, если мы хотим сделать то же самое вещь: говорит очистить экран, когда мы нажимаем на кнопку, установив для $ clear значение true:
Button("Clear") { self.clear = true }
Затем
DrawView(clear:$clear)
И в DrawView
struct DrawView: UIViewRepresentable {
@Binding var clear:Bool
func updateUIView(_ canvas: PKCanvasView, context: Context) {
if clear {
canvas.drawing = PKDrawing()
self.clear = false // Issue
}
}
Проблема: изменение состояния во время обновления представления приведет к неопределенному поведению. Где мне установить для переменной clear значение false?