Sto cercando di utilizzare setPropertiesToFetch nella mia richiesta di recupero per limitare i dati che vengono recuperati dal mio negozio, ma sembra non avere alcun effetto. Quando lo uso e visualizzo l'oggetto restituito nella console, posso vedere che ci sono tutte le mie proprietà. Gli stessi dati vengono visualizzati indipendentemente dal fatto che imposti o meno le proprietà. Tutte le relazioni vengono visualizzate come errori, ma tutti i dati relativi agli attributi sono presenti.setPropertiesToFetch non sembra avere alcun effetto
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]];
Il recupero sembra restituire gli stessi dati per oggetto con o senza quell'ultima riga. Qualche idea?
Sì, lo avevo davvero pensato. Ma poiché venivano mostrati i difetti di relazione, pensavo che la descrizione avrebbe mostrato difetti di attributo. Interessante, darò un'occhiata a quello! Grazie! –
Ho una domanda veloce. Per qualche ragione non permette di-molte relazioni, solo attributi e relazioni 1-1. È corretto o un errore? Sto ricevendo: 'Non valido per molte relazioni ... passato a setPropertiesToFetch:' –
Dalla documentazione su -setPropertiesToFetch: "Le descrizioni delle proprietà possono rappresentare attributi, relazioni a uno o espressioni." Penso che per molte relazioni, si consiglia di utilizzare -setRelationshipKeyPathsForPrefetching: –