2009-09-04 8 views
0

Quelqu'un peut-il me guider comment créer une requête d'extraction qui va interroger une entité et retourne toutes les propriétés qui qualifient mes critères.Données de base: Renvoyer les propriétés en fonction d'une valeur

Voici ce que j'ai. J'ai une entité qui a 35 propriétés, toutes sont dans des types de float. Ce dont j'avais besoin, c'était de voir toutes les propriétés de l'entité dont les valeurs étaient < = zéro.

Je sais comment retourner les valeurs des propriétés mais pas comment retourner le nom de la propriété.

Merci,

Répondre

0

CoreData ne renvoie pas de propriétés. Il renvoie des entités, qui ont alors des propriétés. Dans tous les cas, vous auriez à faire quelque chose comme ceci:

(Ce qui suit est pseudo-code fait de la mémoire traiter en conséquence..)

NSString *query = @"(property1 <= 0) && (property2 <= 0)"; 
NSPredicate *predicate = [NSPredicate predicateWithFormat:query]; 
NSEntityDescription *entity = [NSEntityDescription entityDescriptionForName:@"Entity" inManagedObjectContext:context]; 
NSFetchRequest *fetch = [[NSFetchRequest alloc] init]; 
[fetch setEntity:entity]; 
[fetch setPredicate:predicate]; 
NSError *error = nil; 
NSArray *entities = [context executeFetchRequest:fetch error:&error]; 
// Let's just assume we got one 
NSManagedObject *obj = [entities objectAtIndex:0]; 
float value = [obj valueForKey:@"property1"]; 

Ou quelque chose comme ça.

Questions connexes