Cómo finalizar una aplicación a través de una NSAlert (hoja) en una aplicación macOS usando Swift 4 y Xcode 9

Hay dos cosas aquí.

Primero, debe configurar y mostrar una alerta. Luego, ejecuta la alerta ‘modalmente’ (ya sea la aplicación modal o como una hoja en otra ventana), y el botón en el que se hizo clic vuelve al código de llamada como un valor que representa el botón en el que se hizo clic para descartar la alerta.

Todo eso está envuelto por el objeto NSAlert; por ejemplo, puede llamar a su método -runModal que devuelve el valor del botón en el que se hizo clic como un tipo NSModalResponse.

La segunda parte es responder al botón haciendo algo, en este caso finalizar la aplicación. Esto requiere el uso de un objeto diferente: NSApplication, que representa la aplicación completa. Tiene un método de clase + SharedApplication, que devuelve la única instancia del objeto que existe. Entonces puede llamar a su método -terminate:.

Este es un ejemplo simple del concepto de diseño MVC (Modelo-Vista-Controlador). En este caso, NSApplication es el modelo, NSAlert es la vista, y el código que escribe que muestra la alerta y responde a los botones es el controlador. MVC se aplica estrictamente en todos los marcos de Cocoa, por lo que utiliza dos objetos diferentes para lograr lo que desea aquí. Entonces, la respuesta estricta a su pregunta “¿Cómo finalizo una aplicación a través de NSAlert?” Es que no lo hace: no se puede hacer un NSAlert para hacer eso. En su lugar, escribe un controlador que muestra la alerta y luego llama al objeto modelo para que haga algo de acuerdo con las acciones del usuario.

Consulte el método ‘terminar’ de NSApplication.

More Interesting

¿Hay alguna aplicación que te permita preestablecer la duración del video de una grabación?

¿Cuáles son los diferentes tipos de software de comunicación?

¿Cuáles son algunas buenas empresas de desarrollo de software personalizado? ¿Qué los hace buenos? ¿En qué tecnologías se especializan? ¿Qué procesos de ingeniería de software utilizan?

¿Es posible crear un cinemagraph / GIF animado a partir de una foto o serie de fotos, en lugar de un video? Si es así, ¿cuáles son las buenas aplicaciones / software para eso?

¿Cuál es la diferencia entre las interrupciones de hardware y software?

¿Qué es un software de edición de video decente para iniciar mi canal de YouTube?

¿Cómo funciona la compresión de archivos?

¿Es mejor tener un software de contabilidad en línea o fuera de línea para administrar los nuevos procesos de impuestos y contabilidad de GST?

¿Cuál es el mejor software de presupuesto personal?

¿Existe un software para organizar y ordenar mis listas de canciones con etiquetas?

¿Cuáles son algunos de los mejores programas de software indios utilizados en todo el mundo?

¿Cómo pueden los jugadores en línea verificar que el software detrás del sitio web de juegos no engañe?

¿Cuál es la mejor forma gratuita de hacer una copia de seguridad de mis videos, imágenes y música?

¿Cuál es el mejor software de configuración / costura de equipos de cámara para crear una perspectiva en primera persona en un video de 360 ​​grados?

¿Cuándo usas una computadora?