Est-ce que quelqu'un pourrait m'aider à définir un prédicat qui renvoie uniquement la longueur de l'attribut "letters" de NSManagedObject dans une certaine plage?NSPredicate pour la longueur d'un attribut de chaîne de NSManagedObject
Voici l'exemple que j'ai essayé, j'ai l'impression que c'est la notation letters.length, j'ai aussi essayé les lettres kvc. @ Longueur sans succès .. Qu'est-ce que je fais mal?
NSManagedObjectContext *context = ...;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Word" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"letters" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"letters.length BETWEEN %@", [NSArray arrayWithObjects: [NSNumber numberWithInt:5], [NSNumber numberWithInt:20], nil]];
[fetchRequest setPredicate:predicate];
NSUInteger limit = 20;
[fetchRequest setFetchLimit:limit];
NSError *error = nil;
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
Ceci devrait être la réponse acceptée. –