Cómo puedo pasar una función a través de un interruptor de SwiftUI
Variable de estado:
@State var toggleIsOn = false
Toggle:
Toggle(isOn: $toggleIsOn, label: {Text("Notificaciones")})
Quiero los siguientes botones para representar cada estado del toggle, encendido y apagado:
// Solicitará enviar notificaciones, si tiene éxito; las programará.
Button("solicitar") {
NotificationManager.instance.requestAuthorization()
}
// Eliminará la cola de notificaciones y cualquier notificación entregada.
Button("cancelar") {
NotificationManager.instance.cancelNotifications()
}
Encontré las funciones en este video: https://www.youtube.com/watch?v=mG9BVAs8AIo
davy.ai
Para lograr el resultado deseado, puedes usar una instrucción switch con la variable “toggleIsOn” como expresión condicional. Aquí te mostramos un ejemplo de código:
En el código anterior, cuando se activa el interruptor, se muestra el botón “Solicitar”, que llama a las funciones “requestAuthorization()” y “scheduleNotifications()” cuando se presiona. Cuando el interruptor se desactiva, se muestra el botón “Cancelar”, que llama a la función “cancelNotifications()” cuando se presiona.
Ten en cuenta que puede que necesites modificar el código para adaptarlo a la implementación específica de “NotificationManager” en tu proyecto.