Tengo dos entidades Libros y Paquetes. Un libro puede pertenecer a ninguno, a uno o más paquetes. Entonces tengo una relación bi-direccional a-muchos entre estas entidades.iPhone - datos básicos relación NSSet
Estoy a punto de configurar el valor de esta relación en la parte Libro.
Si el atributo era uno normal, simplemente me haría algo así
aBook.title = @"this is my title";
Si quería establecer el título de un libro. Pero como se trata de una relación bidireccional con muchos, los datos básicos dicen que es un atributo NSSet.
Mi pregunta es: ¿cómo puedo establecer y leer los valores de este atributo?
Primero pensé que era un NSSet normal. Así que, después de leer el producto me hizo sencilla
NSSet *aSet = Book.fromBundle;
pero para mi consternación aAjuste contenía objetos cero
así que pensé que estaba sentado en el error. lo fijo antes de hacer
Book.fromBundle = [NSSet setWithObject:aBundle];
(sí, todos los cambios se guardan en la base de datos)
me estoy perdiendo algo? Gracias
gracias. La aplicación ya no se bloquea, pero después de usar este comando varias veces para agregar diferentes paquetes a un libro, el libro simplemente almacena el último. He inspeccionado la base de datos en una aplicación externa porque aún no he descubierto cómo crear un predicado en la solicitud para verificar y ver si el objeto del paquete está activado desde Bundle. En una relación demasiados, usaría [NSPredicate predicateWithFormat: @ "(fromBundle ==% @)", aBundle], pero no tengo ni idea de cómo hacer eso en un NSSet ... si puede ayudar con eso también, Agradezco (si no es para pedir demasiado) ...: D – SpaceDog
Las relaciones de uno a muchos son básicamente las mismas que las relaciones de muchos a muchos. Ambos están representados como NSSets. La única diferencia es cómo se establece la relación inversa. Debería poder hacer lo mismo que haría para una relación uno a muchos. – ughoavgfhw
gracias !!!!!!!!!!!! – SpaceDog