Sistema de texto Cocoa


El sistema de texto Cacao (anteriormente conocido simplemente por el nombre de la clase primaria NSText ) es la red enlazada de clases , los protocolos , las interfaces y objetos que proporcionan tipografía y el campo de texto capacidades de edición y de cacao aplicaciones de manzana 's macOS , donde es la principal sistema de manejo de texto. [1] Aunque "extremadamente complejo", las capacidades estándar de manejo de texto del sistema de texto Cocoa han sido ampliamente elogiadas como sin igual. [2] [3] Es posible implementar un completoeditor de texto enriquecido en solo unas pocas líneas de código. [4] [5]

Anteriormente incorporado [6] en la especificación OpenStep API del desarrollador NeXT Inc. , e implementado en el sistema operativo OPENSTEP de NeXT , y probablemente también en la plataforma NeXTSTEP [ cita requerida ] anterior , NSText de Cocoa se ha implementado adicionalmente a través de la especificación API OpenStep con éxito en implementaciones de terceros como GNUstep de código abierto y gratuito . [6]

El sistema de texto Cocoa utiliza un patrón de diseño Modelo-Vista-Controlador . [7] La capa de vista es manejada por NSTextView y NSTextField, NSLayoutManager y NSTextContainer son la capa del controlador, y NSTextStorage (una subclase de cadena con atributos mutables ) es el modelo. [8]

El sistema de texto Cocoa también interactúa con los Servicios para proporcionar la funcionalidad de flujos estándar en un entorno GUI. Los usuarios interactúan con dos clases, NSTextField (que proporciona campos de edición de una sola línea) o NSTextView (que proporciona edición de varias líneas). Cada NSTextField utiliza una instancia compartida de un NSTextView llamado "editor de campo". Esto se hizo para reducir los altos requisitos de memoria que surgirían si cada campo implementara su propio gráfico de objeto NSTextView cuando solo un campo puede tener el foco en cualquier momento. [9]