J'écris une application iPhone basée sur Coredata qui affiche des recettes. Pour améliorer les performances, lorsque vous les affichez dans un TableView, je veux activer le traitement par lots (-setFetchBatchSize :) et récupérer uniquement l'attribut "name" (-setPropertiesToFetch :). Lorsque j'allume les deux, cela ne fonctionne pas et la liste est vide. Dès que je commente l'une des lignes marquées dans le code ci-dessous, cela fonctionne très bien.Coredata sur iPhone, setFetchBatchSize et setPropertiesToFetch en une seule demande
Qu'est-ce qui me manque ici? Est-ce impossible d'avoir les deux?
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"Rezept" inManagedObjectContext:chk_context]];
// *snip*
//BATCHING
[fetchRequest setFetchBatchSize:25];
NSDictionary *entityProperties = [[NSEntityDescription entityForName:@"Rezept" inManagedObjectContext:chk_context] propertiesByName];
//PROPERTIES
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"name"]]];
La structure de débogage CoreData ne fonctionne que sur le bureau, non? Je ne pensais pas qu'il y avait une version iPhone des frameworks de débogage. – Hunter
Je ne parle pas de framework de débogage. Je dis, définir une variable d'environnement ou une valeur par défaut pour déclencher la journalisation supplémentaire dans le cadre CoreData normal. –
Wil, avez-vous réellement eu ce travail au téléphone? Je n'ai pas eu de chance, et cette personne suggère que c'est un bug connu: http://stackoverflow.com/questions/822906/how-do-i-get-the-coredata-debug-argument-to-output-to -la-console –