Pregunta

Tengo una entidad (por ejemplo, Empleado) en un modelo de objeto gestionado que se relaciona con otras dos entidades (por ejemplo, Departamento y Equipo). Ambas relaciones son uno-a-muchos (es decir, un empleado debe tener un departamento y un equipo, equipos y departamentos tienen muchos empleados). Los dos se puede o no se superponen (por ejemplo, un equipo puede estar formado por empleados de recursos humanos, contabilidad y I.T. o podría consistir en varios sobresalen los empleados del departamento de uno).

Department <-->> Employee <<--> Team    

Tengo dos NSArrayControllers que proporcionan datos para dos NSTableViews, una mesa y una mesa Departamento de equipo. Los empleados pueden moverse entre departamentos y entre equipos sin ningún problema, pero no estoy seguro de cómo eliminar (fuego) el empleado.

Si envío cualquiera de los controladores de arrays de un mensaje quitar el empleado se toma fuera del equipo (por ejemplo), pero dejó en el departamento y el gráfico de objeto está en un estado incoherente. Incluso si llamo a la acción de eliminación en ambos controladores no se elimina el objeto -. Que es huérfano y se cuelga a la vuelta en el limbo

Originalmente, tenía las relaciones del Departamento y del equipo (de la entidad Employee) conjunto a una norma de supresión de Nulidad pero incluso el cambio de uno o ambos de cascada no ayuda.

Do necesidad de anular el remove I: acción sobre los controladores de array a elimina realmente el empleado o me estoy perdiendo algo muy obvio

¿Fue útil?

Solución

El NSArrayController tiene dos comportamientos diferentes cuando se está utilizando la base de datos. Si se configura para simplemente ir a buscar objetos directamente del contexto de objeto gestionado, eliminará los objetos cuando se retiran.

Si va a obligar a la contentSet a otro controlador, como suena como si estuviera en este caso, el comportamiento por defecto es simplemente eliminar el objeto de la relación. Si desea eliminarlo, sin embargo, hay una "eliminaciones objeto en remove" opción, que producirá el resultado deseado vinculante.

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