J'ai ajouté ce qui suit à AppDelegate dans l'exemple Recettes de données de base, mais je n'obtiens aucun résultat imprimé dans la console ... des idées?iPhone dev: comment imprimer les résultats d'un fetchRequest Core Data?
#pragma mark -
#pragma mark TESTING RETRIEVAL OF RECIPE NAMES
- (NSArray *)allRecipes{
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"name" inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
NSArray *result = [[NSArray alloc] init];
result = [self.managedObjectContext executeFetchRequest:request error:NULL];
NSManagedObject *firstObject = [result objectAtIndex:0];
NSLog(@"firstObject.name: %@", [firstObject valueForKey:@"name"]);
}
XCode me donne un avertissement après cette méthode: « Contrôle atteint la fin de la fonction non vide »
Je pense que cela signifie que je ne reçois pas de résultats ... ce qui est évident, parce que rien est l'impression.
1. En tant que "entityForName:", vous devez fournir un nom d'entité (classe) (par exemple @ "Recipe"), et non une clé. 2. L'avertissement est dû au fait que vous ne renvoyez pas un NSArray * à l'appelant: renvoie le résultat; 3. Vous pouvez vérifier si des enregistrements sont extraits en demandant la taille de la matrice: [nombre de résultats] 4. Comment peupler le contexte avec les données initialement? – gerry3