NSPredicate para la longitud del atributo de cadena de un NSManagedObject

¿Podría alguien ayudarme a definir un predicado que devuelva solo la longitud del atributo "letras" de NSManagedObject que está dentro de un cierto rango?

Este es el ejemplo que he estado probando, tengo la sensación de que es la notación de letras. Longitud, también he intentado las letras kvc. @ Length sin éxito. ¿Qué estoy haciendo 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];

Respuestas a la pregunta(3)

Su respuesta a la pregunta