Pregunta

Aficionado cacao programador aquí. Han estado buscando alrededor de todos los lugares habituales, pero esto parece relativamente poco explicó:

  • Yo escribo algo un poco fuera de lo común. Es mucho más simple que, pero similares a, una aplicación de autoedición. Quiero cuadros de texto editables en un lienzo, colocados de manera arbitraria.

  • Este es basada en documentos y me gusta mucho el uso de datos básicos.

Ahora, el sistema de tratamiento de texto de cacao parece que lidiar con una estructura de cuatro clases: NSTextStorage, NSLayoutManager, NSTextContainer y finalmente NSTextView. He mirado en estos y saber cómo usarlos, más o menos. Han estado haciendo algunos prototipos y funciona para aplicaciones sencillas.

El problema llega cuando me meto en la persistencia. No sé cómo , a modo de cacao enlaces o alguna otra cosa, almacenar el contenido de NSTextStorage (= el texto real) en mi contexto de objeto gestionado.

I han considerado Sustitución de métodos pares como -palabras, -setWords: en estos objetos. Esto me dejó un enlace Las palabras de una cadena, que sé cómo almacenar datos en la base. Sin embargo, tendría que anular cualquier método que afecta el texto -. Y eso parece un poco mucho

Agradecido por cualquier idea.

¿Fue útil?

Solución

NSTextStorage es sólo una subclase de NSMutableAtrributedString que apoyan el protocolo NSCoding para que pueda guardar en la base de datos como un atributo transformable usando el valor por defecto NSKeyedUnArchiveFromData transformar.

Estoy bastante seguro de que es válido para todas las otras clases es posible que desee guardar con la posible excepción de las vistas. (Nunca he probado para almacenarlos en la base de datos peros su teóricamente posible hacerlo.)

Cualquier clase que implementa / hereda NSCoding o tiene un método initWithCoder: puede ser almacenado en datos de código como un atributo transformable.

Otros consejos

Sugiero unión de la unión de una vista de texto a un atributo de cadena de una de sus entidades modelo, o la unión a un atributo transformable value attributedString. Este se conecta a la vista del modelo sin tener que pasar de nuevo texto adelante y hacia atrás a sí mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top