Detectores de datos en Cocoa
-
19-09-2019 - |
Pregunta
Quiero añadir un detector de datos en un NSTextField / NSTextView como en el correo (por ejemplo, la fecha, el correo electrónico, URL, etc.).
¿Alguien tiene una idea de cómo hacer esto? Creo que lo vi en el código fuente de edición de textos, pero cuando comprobé que era la versión de 2005 y no puedo encontrar el nuevo código fuente.
Alex
Solución
Es necesario ajustar la salida del formateador del objeto. Construido en formateadores son NSDateFormatter y NSNumberFormatter .
Puede definir formateadores personalizados mediante la extensión de la clase NSFormatter . Hay un capítulo en Aaron Hillegass excelente ' Programación de cacao para Max OS X ' sobre la creación de NSFormatters.
Para detectar fechas, URL, dirección de correo electrónico, etc. dentro del cuerpo de un texto, puede utilizar el Semántica latente Marco de Asignación de . Es una API pública como de leopardo, pero no hay una gran cantidad de documentación de la misma. También hay una herramienta de línea de comandos denominada LSM que permitirá poner a prueba los extractores personalizados que desee utilizar. Es una API C y no integrado en cacao por lo que yo sé por lo que había necesidad de cablear usted mismo
Otros consejos
En Snow Leopard ahora se puede activar detectores de datos en un NSTextView simplemente haciendo clic en la casilla correspondiente en el inspector de IB.