2012-08-26 24 views
5

No estoy totalmente seguro de por qué esto no funciona ahora, pensé que había estado funcionando anteriormente. ¿Alguien ve un problema con esta construcción FetchRequest?NSPredicar 'El lado izquierdo de un operador ALL o ANY debe ser un NSArray o NSSet'

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

de nuevo, estoy 99% seguro de que el código ha estado trabajando hasta hace poco tiempo, así que estoy pensando que tal vez hay algo más en juego en mi código en algún lugar. . .pero cuando lo ejecuto a través del depurador aquí es donde se cuelga. Aquí está mi error:

El lado izquierdo de la totalidad o cualquier operador debe ser o bien una NSArray o nsset

¿Alguna idea?

gracias!

+0

¿Cuáles son los atributos y las relaciones de sus entidades? –

Respuesta

8

Parece que addedOn no es una relación demasiado. Asegúrese de usar los nombres correctos de sus atributos/relaciones en el predicado. Además, tenga en cuenta que no puede usar una relación uno a uno en un predicado "CUALQUIERA".

+2

+1 específicamente, o bien 'addedOn' debe ser to-many, con' unique' es una propiedad (o una relación uno a), o 'addedOn' debe ser uno y' unique' debe ser un -Mucha relación. –

Cuestiones relacionadas