Soy nuevo en los datos básicos, por lo tanto, tengo algunas preguntas. Preguntaré dosInsertar datos básicos y buscar en muchas entidades de relación
1) Tengo dos entidades llamadas Team y TeamMembers. Tienen una relación de muchos, es decir, un equipo puede tener muchos miembros. Primero, observe el siguiente diagrama y los archivos .h de los modelos y avíseme si he realizado una relación correcto-muchos entre el Equipo y los Miembros del equipo (tengo la sensación de que hice una relación inversa).
Teams.h
#import <CoreData/CoreData.h>
@class TeamMembers;
@interface Teams : NSManagedObject
{
}
@property (nonatomic, retain) NSString * team_name;
@property (nonatomic, retain) NSString * color;
@property (nonatomic, retain) NSString * points;
@property (nonatomic, retain) TeamMembers * members;
@end
TeamMembers.h
#import <CoreData/CoreData.h>
@class Teams;
@interface TeamMembers : NSManagedObject
{
}
@property (nonatomic, retain) NSString * member_name;
@property (nonatomic, retain) NSSet* teams;
@end
@interface TeamMembers (CoreDataGeneratedAccessors)
- (void)addTeamsObject:(Teams *)value;
- (void)removeTeamsObject:(Teams *)value;
- (void)addTeams:(NSSet *)value;
- (void)removeTeams:(NSSet *)value;
@end
2) por favor necesito código de ejemplo para insertar equipo después insertando sus miembros del equipo. También cómo buscar miembros del equipo de un equipo en particular.
editado estoy usando siguiente fragmento de código para insertar en equipos y miembros del equipo entidades pero no devuelve todos los miembros del equipo en NSSet. Está devolviendo solo un miembro del equipo en el conjunto de resultados
self.context = [del managedObjectContext];
Teams *teamobj = [NSEntityDescription
insertNewObjectForEntityForName:@"Teams"
inManagedObjectContext:context];
teamobj.team_name = teamname.text;
teamobj.color = [NSString stringWithFormat:@"%d", color];
teamobj.points = [NSString stringWithFormat:@"%d", 0];
for(UITextField *view in self.scrollview.subviews)
{
if([view isKindOfClass:[UITextField class]])
{
if ([view tag] == 99) {
if (![view.text isEqualToString:@""]) {
noone = YES;
TeamMembers *teammember = [NSEntityDescription
insertNewObjectForEntityForName:@"TeamMembers"
inManagedObjectContext:context];
teammember.member_name = view.text;
teammember.teams = teamobj;
[teamobj addMembersObject:teammember];
}
}
}
}
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure" message:@"Unable to save team at the moment." delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil];
[alert show];
[alert release];
}
Gracias por la respuesta.¿Puede mostrar un ejemplo de inserción en TeamMembers para el equipo particular –
? También es una convención nombrar sus entidades como objetos singulares que no son plurales; por lo tanto, 'Equipo' y 'Miembro del equipo', no 'Equipos' y 'Miembros del equipo'. –
Gracias por mostrar el código de muestra. ¿pueden mostrar también cómo agregar NSSet de los miembros del equipo a un equipo? –