debe ser conservado como un NSSet
y realice una de las siguientes opciones:
- Uso key value coding
- Añadir el núcleo data generated accessors
Para la codificación de valores clave, podrás acceder a su colección como ese:
NSMutableSet *somethings = [object mutableSetValueForKey:@"somethings"];
[somethings addObject:newObject];
Para datos básicos generados descriptores de acceso, deberá añadir lo siguiente a su cabecera:
@interface MyManagedObject (CoreDataGenerated)
- (void)addSomethingsObject:(MySomething *)object;
- (void)removeSomethingsObject:(MySomething *)object;
- (void)addSomethings:(NSSet *)somethings;
- (void)removeSomethings:(NSSet *)somethings;
@end
No es necesario para poner en práctica estos métodos (datos básicos se hará cargo de él para usted), y se puede llamar a ellos fácilmente. Esta es mi forma preferida de manejar colecciones porque obtienes una mejor verificación de tipos del compilador.
La razón por la que no debe cambiarlo a un NSMutableSet
es porque hay una buena probabilidad de que cause bloqueos y/o que sus cambios no se conserven en su almacén de datos centrales.
Es posible que también desee consultar mogenerator para ayudarlo a crear todas sus clases de Cocoa.
causará algún problema si agrego el objeto ya presente a la relación – Johnykutty
@Johnykutty establece que no haya duplicados. Esto no debería tener ningún efecto. – wbyoung