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 anterior NeXTSTEP [ cita requerida ] , 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]
Cocoa adopta muchas combinaciones de teclas de Emacs familiares para los programadores. [10]
Referencias
- ^ "Acerca del sistema de texto Cocoa" .
- ^ "Programación del cacao" .
- ^ "¡Levántate Aqua!" .
Construirá un procesador de texto capaz de manejar interletraje, justificación, subíndice y superíndice, soporte completo de Unicode, revisión ortográfica, múltiples estilos de fuente y párrafo, arrastrar y soltar gráficos y colores incrustados, reglas con tabulaciones ajustables, lectura y escritura de conformes a los archivos RTFD, ¡todo en menos de 13 líneas de código! No se puede hacer esto en ningún otro entorno de desarrollo del planeta.
- ^ "Manejo de texto enriquecido" .
- ^ "Comenzar a desarrollar para Mac OS X" .
Hay muy poco código personalizado en TE y lo que hay es básicamente solo el código necesario para que AppKit se comporte como un editor de texto.
- ^ a b "GNUstep" . gnustep.org . Consultado el 16 de agosto de 2020 .
- ^ "La arquitectura del sistema de texto Cocoa es modular y en capas para mejorar su facilidad de uso y flexibilidad. Su diseño modular refleja el paradigma Modelo-Vista-Controlador (originado con Smalltalk-80) donde los datos, su representación visual y la lógica que enlaza, los dos están representados por objetos separados. En el caso del sistema de texto, NSTextStorage contiene los datos de texto del modelo, NSTextContainer modela la geometría del área de diseño, NSTextView presenta la vista y NSLayoutManager intercede como controlador para asegurarse de que los datos y su representación en pantalla quedan de acuerdo ” .
- ^ "De Win32 a Cocoa: ¿la conversión de un usuario de Windows a Mac OS X? Parte III" .
- ^ "Objetivo inicial C" .
- ^ "Sistema de texto Cocoa" .
enlaces externos
- Acerca del sistema de texto Cocoa
- Arquitectura del sistema de texto