Ein bis Viele Beziehungen iPhone - NSPredicate-core-Daten-Abfrage

Ich habe eine Reihe von Kalendern, die jeweils eine Reihe von Veranstaltungen. Ich möchte, um herauszufinden, alle Ereignisse für einen Kalender, wo das Datum > x.

Meiner Signatur der Methode sieht wie folgt aus

-(NSArray*)eventsForCalender:(Calendar*)calender StartDate:(NSDate*)start endDate:(NSDate*)endDate;

Ich fügte hinzu, ein Ereignis zu einem Kalender, wie diese, aber ich habe keine Ahnung, wie man über die Konstruktion eines NSPredicate für die Abfrage. Jede Hilfe zu schätzen

-(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

Änderte ich die Beziehung Namen, "Veranstaltungen" und habe versucht, die folgenden

....
    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];
...

Aber ich bin immer eine Ausnahme

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ valueForUndefinedKey:]: diese Klasse ist nicht die key-value-coding-konform für die Schlüssel-Ereignis.'

InformationsquelleAutor Ben Reeves | 2009-11-20
Schreibe einen Kommentar