Siempre he creado mis NSFetchRequests completamente en código. Ahora estoy mirando la GUI de Xcode para construir una solicitud de búsqueda y almacenarla en el modelo.Sustitución de variables con recuperación Solicitudes almacenadas en un CoreData Modelo
Estoy siguiendo un ejemplo de la Documentación de Xcode. He añadido una petición de recuperación de mi modelo, y el predicado que se ha creado a través de la interfaz gráfica de usuario de modelado es:
firstName LIKE[c] "*SUBSTRING*"
entonces recuperar esa petición con estas dos líneas:
NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"];
NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary];
Un NSLog de la resultante NSFetchRequest Muestra esto:
(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0)
.. lo que indica que la variable no está siendo sustituido antes de la devolución de la FetchRequest almacenado.
Entonces, ¿cómo se especifica que el texto ingresado en la GUI del generador de predicados de solicitud de obtención de modelado de datos de Xcode está destinado a ser sustituido en tiempo de ejecución por NSFetchRequest: fetchRequestFromTemplateWithName: variationVariables:?
¡Gracias!
Woody
Genius. Esa es exactamente la solución. (Nunca he experimentado algo tan poco intuitivo en una aplicación de Apple como esa ventana emergente oculta.) No tengo idea de cómo me habría encontrado alguna vez si no hubiera preguntado y respondiste. ¡¡Gracias!! – Woodster
Estoy de acuerdo. Por favor, presente una solicitud de mejora para la UI y un error en la documentación (¡por no decirle dónde mirar) en http://bugreport.apple.com! –