J'ai un certain nombre de calendriers, qui ont chacun un certain nombre d'événements. Je voudrais trouver tous les événements pour un calendrier où date> x.Un à plusieurs relations iPhone - NSPredicate base de données requête
Ma signature de la méthode ressemble à ce
-(NSArray*)eventsForCalender:(Calendar*)calender StartDate:(NSDate*)start endDate:(NSDate*)endDate;
J'ai ajouté un événement à un calendrier comme celui-ci, mais je n'ai pas la moindre idée comment s'y prendre pour construire une NSPredicate pour la requête. Toute aide appréciée
-(Event*)newEventforCalender:(Calendar*)calender
{
Event * newEvent = (Event*)[NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:app.managedObjectContext];
NSMutableSet * eventsArray = [calender mutableSetValueForKey:@"Events"];
[eventsArray addObject:newEvent];
[app.managedObjectContext processPendingChanges];
return newEvent;
}
alt text http://img4.imageshack.us/img4/5218/screenshot20091120at140.png
J'ai changé le nom de la relation à "événements" et essayé le
suivant....
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Calendar" inManagedObjectContext:app.managedObjectContext];
[request setEntity:entity];
NSPredicate * predictate = nil;
predictate = [NSPredicate predicateWithFormat:@"(name == %@) AND (Event.start > '%@') AND (Event.finish < '%@')", calender.name, start, endDate, nil];
[request setPredicate:predictate];
...
Cependant, je reçois une exception
Mettre fin application en raison de exception non interceptée 'NSUnknownKeyException', raison: '[valueForUndefinedKey:]: cette classe n'est pas une valeur clé codage-conforme pour la clé Event.'
Merci, donc vous devez utiliser (nom comme '% @') vous ne pouvez pas utiliser l'id de l'objet comme référence? –