Articulo de referencia

Sistema de texto Cocoa

El sistema de texto Cocoa (anteriormente conocido simplemente por el nombre de clase principal NSText ) es la red interconectada de clases , protocolos , interfaces y objetos qu...

El sistema de texto Cocoa (anteriormente conocido simplemente por el nombre de clase principal NSText ) es la red interconectada de clases , protocolos , interfaces y objetos que proporcionan capacidades de edición de campos de texto y tipografía a las aplicaciones Cocoa en macOS de Apple , donde es el sistema principal de manejo de texto. [ 1 ] Aunque "extremadamente complejo", las capacidades estándar de manejo de texto del sistema Cocoa han sido ampliamente elogiadas como inigualables. [ 2 ] [ 3 ] Es posible implementar un editor de texto enriquecido con todas las funciones en tan solo unas pocas líneas de código. [ 4 ] [ 5 ]

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

El sistema de texto Cocoa utiliza un patrón de diseño Modelo-Vista-Controlador . [ 7 ] La capa de vista es gestionada por NSTextView y NSTextField, NSLayoutManager y NSTextContainer son la capa de controlador, y NSTextStorage (una subclase de cadena con atributos mutable ) 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 de interfaz gráfica de usuario (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 denominada "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 objetos NSTextView , cuando solo un campo puede tener el foco a la vez. [ 9 ]

Cocoa adopta muchas combinaciones de teclas de Emacs familiares para los programadores, [ 10 ] y los atajos de teclado predeterminados para la edición de texto se pueden anular y se pueden crear nuevos atajos personalizados, creando y editando los archivos de configuración relacionados. [ 11 ]

Referencias

  1. Apple Inc. (11 de febrero de 2014). "Acerca del sistema de texto Cocoa" . Guía de arquitectura de texto Cocoa . Consultado el 19 de febrero de 2023 .
  2. Anguish, Scott; Buck, Erik M.; Yacktman, Donald A. (2003). Cocoa Programming . Sams. ISBN 9780672322303.
  3. "¡Levántate, Aqua!" . Crearás un procesador de texto capaz de manejar el espaciado entre caracteres, la justificación, los subíndices y superíndices, compatibilidad total con Unicode, correcció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 archivos RTFD conformes, ¡todo en menos de 13 líneas de código! No podrás hacer esto en ningún otro entorno de desarrollo del planeta.
  4. "Manejo de texto enriquecido" . O'Reilly Commons . 7 de marzo de 2008. Archivado del original el 21 de julio de 2016.
  5. "Primeros pasos para desarrollar para Mac OS X" . TE contiene muy poco código personalizado y el que tiene es básicamente solo el código necesario para que AppKit se comporte como un editor de texto.
  6. 1 2 "GNUstep" . gnustep.org . Consultado el 16 de agosto de 2020 .
  7. "La arquitectura del sistema de texto Cocoa es modular y está organizada en capas para mejorar su facilidad de uso y flexibilidad. Su diseño modular refleja el paradigma Modelo-Vista-Controlador (originario de Smalltalk-80), donde los datos, su representación visual y la lógica que los vincula se representan mediante objetos separados. En el caso del sistema de texto, NSTextStorage almacena los datos de texto del modelo, NSTextContainer modela la geometría del área de diseño, NSTextView presenta la vista y NSLayoutManager interviene como controlador para asegurar que los datos y su representación en pantalla coincidan" .
  8. Bright, Peter (1 de junio de 2008). "De Win32 a Cocoa: la posible conversión de un usuario de Windows a Mac OS X, Parte III" . Ars Technica . Consultado el 19 de febrero de 2023 .
  9. Dovey, James; Furrow, Ashley Alonzo Hale (4 de enero de 2013). Introducción a Objective C. Apress. ISBN 9781430243694.
  10. Rus, Jacob (2006-03-20). "Personalización del sistema de texto Cocoa" . Archivado del original el 2018-10-07.
  11. "Configuración predeterminada del sistema de texto y combinaciones de teclas" . Archivo de documentación para desarrolladores de Apple . 9 de septiembre de 2013. Archivado del original el 10 de marzo de 2024. Consultado el 18 de enero de 2024 .
  • Acerca del sistema de texto Cocoa
  • Arquitectura del sistema de texto