Estoy tratando de usar setPropertiesToFetch en mi solicitud de búsqueda para limitar los datos que se recuperan de mi tienda, pero parece no tener ningún efecto. Cuando lo uso y visualizo el objeto devuelto a la consola, puedo ver que todas mis propiedades están allí. Se muestran los mismos datos si establezco las propiedades o no. Todas las relaciones se muestran como fallas, pero todos los datos para los atributos están ahí.setPropertiesToFetch no parece tener ningún efecto
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Entity" inManagedObjectContext:context];
NSDictionary *entityProperties = [entity propertiesByName];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
[fetchRequest setIncludesPendingChanges:NO];
[fetchRequest setReturnsObjectsAsFaults:NO];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:[entityProperties objectForKey:@"myAttrib"], nil]];
La búsqueda parece devolver los mismos datos por objeto con o sin esa última línea. ¿Algunas ideas?
Sí, realmente lo había pensado. Pero a medida que se mostraban las fallas de relación, pensé que la descripción mostraría fallas de atributos. ¡Interesante, echaré un vistazo a eso! ¡Gracias! –
Tengo una pregunta rápida. Por alguna razón, no permite-muchas relaciones, solo atributos y 1-1 relaciones. ¿Es esto correcto o estoy alcanzando algún tipo de error? Obtengo: 'Inválido para muchas relaciones ... pasado a setPropertiesToFetch:' –
De la documentación en -setPropertiesToFetch: "Las descripciones de propiedad pueden representar atributos, relaciones de uno a uno o expresiones." Creo que para muchas relaciones, recomiendan usar -setRelationshipKeyPathsForPrefetching: –