Pregunta

Tengo una configuración con un objeto (OTNodeDatum) (OT para OutlineTest) para ser el objeto representado en la NSTreeNode. NSTreeNode es la clase se muestra en la página de atributos para NSTreeController.

Tengo aplicación basada en el documento, no hay datos básicos. En MiDocumento init, I fijó el contenido con un NSMutableArray que contiene un artículo, un NSTreeNode con un objeto representado que contiene una sola propiedad (sí, el nombre).

botón Añadir, botón infantiles, botón Borrar, hasta enganchado a través de constructor de interfaces a la acción add NSTreeController, etc Agregar.

Funciona hasta un cierto punto.

Cuando hago un complemento, me sale una nueva línea en blanco, que pueda editar, pero el texto insertado desaparece cuando deje la célula.

Cuando hago un borrado, se borran las cosas.

Cuando no se añade niño, no pasa nada.

Creo que tengo a la subclase sea NSTreeNode o NSTreeController para obtener el comportamiento correcto en términos de la adición de los niños y la adición de un nuevo objeto representado, además de la adición de un nuevo nodo del árbol.

Es esto en el camino correcto? Si subclase NSTreeController sería acabo de anular el complemento, addChild, para obtener lo que hay que suceda? Y ¿qué podía meter la pata? Me parece que no puede encontrar ninguna orientación al respecto, aunque he pasado mucho tiempo buscando.

Gracias.

John V

¿Fue útil?

Solución

Parece que la manera correcta de hacer las cosas, o al menos, de alguna manera, es el uso

-(void)insertObject:(id)object atArrangedOjectIndexPath:(int)index;

En primer lugar crear representedObject, crear un nuevo NSTreeNode con ese objeto representado, y luego insertarlo. Más trabajo que una simple conexión en el botón añadir al controlador árbol, pero (con suerte) las ventajas de utilizar NSTreeNode compensar por ello.

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