2011-08-12 15 views
8

Apple introdujo muchas relaciones ordenadas en Core Data en Lion. Creé una entidad llamada TreeNode con una relación 1: 1-objeto, una relación padre-hijo 1: 1 y una relación ordenada con muchas relaciones.Cómo vincular NSTreeController's Children a Core Data ¿ordenó muchos relación?

Luego tengo un NSTreeController con la ruta de la clave de los niños establecida en TreeNode.children. La ejecución de la aplicación solo muestra elementos de primer nivel. Entonces los niños no están trabajando. Dado que los niños son una relación ordenada a muchos, la clase correspondiente tiene un NSOrderedSet niños. Agregué un método personalizado

- (NSArray *) childrenArray { 
    return [children array]; 
} 

a TreeNode que funciona. No pude encontrar ninguna documentación sobre ese tema. ¿Es realmente el camino a seguir cuando se vincula NSTreeController a una relación ordenada a muchos? Gracias por adelantado.

+1

No he utilizado relaciones ordenadas como esta, pero los controladores de árbol siempre han sido muy quisquillosos. Sugeriría que funcione sin ordenar primero y luego agregar el pedido. – TechZen

+0

¿Su árbol es mutable? – paulmelnikow

+1

También estoy teniendo el mismo problema. ¿Hay algún ejemplo de funcionamiento de NSTreeController trabajando junto con las relaciones ordenadas de CoreData? – Tony

Respuesta

4

Parece que Apple nos dio conjuntos ordenados para Core Data, pero se olvidó de actualizar sus controladores vinculantes. Un año más tarde después de su pregunta, el problema sigue ahí.

Tenga una mirada en:

https://github.com/robertjpayne/DDOutlineView

Moraleja de la historia. Tenga cuidado al usar relaciones ordenadas, intente realizar su propia implementación hasta que Apple implemente por completo esa característica

+0

Parece que esto todavía es un problema. – Stephan

+0

Por cierto. Acabo de abrir un informe de error para esto ... que esto ayude :) – Stephan