Las relaciones de uno a uno se modelan como referencias de objeto por Core Data. Así que una relación a uno de Entidad Bar
a entidad Baz
(suponiendo Baz
es implementado por la clase Baz
) sería
@interface Bar : NSManagedObject {
}
@property (readwrite,nonatomic) Baz * toBaz;
@end
relaciones A-Muchos se modelan como una propiedad conjunto mutable (aunque no como NSMutableSet
) Suponiendo una relación a muchos de Bar
a Baz
llamada manyBazz
:
@interface Bar : NSManagedObject {
}
@property (retain) NSSet* manyBazz;
@end
// coalesce these into one @interface AnalysisRecord (CoreDataGeneratedAccessors) section
@interface Bar (CoreDataGeneratedAccessors)
- (void)addManyBazzObject:(Baz *)value;
- (void)removeManyBazzObject:(Baz *)value;
- (void)addManyBazz:(NSSet *)value;
- (void)removeManyBazz:(NSSet *)value;
@end
Si desea utilizar la interfaz NSMutableSet para manipular la relación manyBazz
, debe llamar -mutableSetValueForKey:@"manyBazz"
para obtener un proxy de MVA-compatible para la relación manyBazz
.
En Leopard (OS X 10.5) y más tarde, todos los métodos apropiados se generan automáticamente en tiempo de ejecución por el marco de Core Data, incluso si no los declara explícitamente o los implementa (obtendrá, por supuesto, un compilador advertencia si intenta usarlos sin declararlos en un archivo de encabezado). Por lo tanto usted no necesidad subclase
La forma más sencilla de obtener la declaración y aplicación correcta es seleccionar los atributos en el modelador de datos y elegir la opción "Copia de Objective-C 2.0 Declaraciones método para portapapeles" del "Design- > Menú "Modelo de datos", pegue en su archivo .h de implementación de clases. Por supuesto, tienes que mantener tu .h y tu modelo sincronizados ... de ahí una recomendación sincera para la increíble MO Generator de rentzsch, una herramienta que automáticamente generará (y re generará) subclases NSManagedObject de tu modelo de datos.
Además, eche un vistazo a [esta publicación en el blog] (http://nvie.com/archives/263 "Genere clases automáticamente para su modelo de datos Core Data") para una generación ** automática ** extremadamente fácil de las clases . – nvie