2012-04-07 13 views
6

Tengo una estructura de Datos Core con Restaurantes y Atmósferas, donde un restaurante puede tener muchos ambientes y una atmósfera puede tener muchos restaurantes. Así que hice dos relaciones de muchos a la vez, siendo ambas las contrarias a sí mismas, como se afirma en la Documentación de Apple, formando una relación de muchos a muchos.Agregar un objeto a un NSSet en un Core Data con relaciones de muchos a varios

Sin embargo, tengo problemas para agregar objetos a los conjuntos creados. Ejemplo, cuando se utiliza un código como éste,

Atmosphere *atmosphere = [Atmosphere atmosphere:aId inManagedObjectContext:context]; 
[restaurant addAtmospheresObject:atmosphere]; 

se bloquea con un error extraño:

EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) 

Alguien cada encontrado con este favor?

+0

¿Qué es Atmosphere * atmosphere = [Atmosphere atmosphere: aId inManagedObjectContext: context] ;? No es una sintaxis válida. – jmstone617

+0

Tengo un método de clase dentro de la entidad Atmosphere (usando categorías) + (Atmosphere *) atmosphere: (NSNumber *) unique en el contexto deManagedObjectContext: (NSManagedObjectContext *); que obtiene un objeto Atmosphere a partir de los datos del núcleo mediante un campo único de identificación – ChrisBorg

+0

es la variable atmosférica no nil después de este método de clase? – jmstone617

Respuesta

12

Parece que no está creando su objeto atmosphere correctamente. Pruebe esto:

Atmosphere *atmosphere = [NSEntityDescription 
    insertNewObjectForEntityForName:@"Atmosphere" 
      inManagedObjectContext:context]; 
// further configuration 
if (restaurant) { 
    [restaurant addAtmospheresObject:atmosphere]; 
} 
+0

¡perfecto! ¡Estaba agregando un objeto nil! ¡Gracias por tu ayuda! – ChrisBorg

+2

Bienvenido - prueba también el botón de votación ascendente ... y no olvides marcar la casilla de verificación. – Mundi

+1

marcado! ¡Gracias! no puedo votar todavía – ChrisBorg

Cuestiones relacionadas