iOS: usando @min y @max en un pnetworkingicado de datos centrales

Tengo una entidad de datos central, Client , que tiene una propiedad de discount . Quiero search al cliente con el menor descuento.

Estoy usando el siguiente NSPnetworkingicate :

 [NSPnetworkingicate pnetworkingicateWithFormat:@"@min.discount"]; 

Sin embargo, estoy recibiendo el siguiente error:

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "@min.discount"' 

¿Qué no estoy haciendo bien?

No creo que NSPnetworkingicate tenga soporte para funciones como esta a less que sea parte de una expresión de pnetworkingicado boolean (es decir, que involucre cosas como "mayor que").

Debe leer esta documentation de CoreData que da algunos ejemplos, específicamente utilizando max como ejemplo:

Hay varios pasos a seguir para crear y usar la descripción de la expresión.

Primero debe crear expresiones (instancias de NSExpression ) para representar la ruta key para el valor que le interese y representar la function que desea aplicar (como max: o min :):

 NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"salary"]; NSExpression *maxSalaryExpression = [NSExpression expressionForFunction:@"max:" arguments:[NSArray arrayWithObject:keyPathExpression]]; 

Para get una list completa de funciones compatibles, vea expressionForFunction:arguments:

A continuación, crea la descripción de la expresión y establece su nombre, expresión y tipo de resultado.

El nombre es la key que se usará en el dictionary para el valor de retorno. Si desea recuperar varios valores, como los sueldos más grandes y los más pequeños en una tabla Empleado, el nombre de cada descripción de la expresión debe ser único para una request de obtención determinada.

 NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init]; [expressionDescription setName:@"maxSalary"]; [expressionDescription setExpression:maxSalaryExpression]; [expressionDescription setExpressionResultType:NSDecimalAttributeType]; 

Finalmente, establece las properties de la request para search solo la propiedad representada por la expresión:

 [request setPropertiesToFetch:[NSArray arrayWithObject:expressionDescription]];