2012-08-26 5 views
5

Nicht ganz sicher, warum das jetzt nicht funktioniert, ich dachte, es hat vorher funktioniert. Sieht jemand ein Problem mit dieser FetchRequest-Konstruktion?NSPredate 'Die linke Seite für einen ALL oder ANY-Operator muss entweder ein NSArray oder NSSet' sein

- (NSArray *)entriesForDate:(NSDate *)date { 
    NSFetchRequest *request = [[NSFetchRequest alloc]initWithEntityName:@"Entry"]; 
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY addedOn.unique like %@", [T3Utility identifierForDate:date]]; 
    request.predicate = predicate; 

    NSError *error = nil; 
    NSArray *matches = [self.database.managedObjectContext executeFetchRequest:request error:&error]; 

    return matches; 
} 

Wieder, ich bin 99% sicher, dass dieser Code bis vor kurzem gearbeitet hat, so im Denken vielleicht ist es etwas anderes, irgendwo in meinem Code geht. . .aber wenn ich es durch den Debugger ausführen, ist dies, wo es hängt. Hier ist mein Fehler:

Auf die linke Seite für ein alle oder einen Betreiber muss entweder eine NSArray oder NSSet

Irgendwelche Ideen sein?

danke!

+0

Was sind die Attribute und Beziehungen Ihrer Entitäten? –

Antwort

8

Es scheint addedOn ist nicht eine zu viele Beziehung. Stellen Sie sicher, dass Sie die korrekten Namen Ihrer Attribute/Beziehungen im Prädikat verwenden. Beachten Sie auch, dass Sie keine direkte Beziehung in einem ANY-Prädikat verwenden können.

+2

+1 spezifisch, entweder 'addedOn' muss zu-viele sein, mit' unique' ist eine Eigenschaft (oder to-one-Beziehung), oder 'addedOn' muss to-one sein und' unique' muss ein to sein -viele Beziehung. –