J'ai une classe ConfiguracaoDaApp dans mon projet qui est une sous-classe NSManagedObject. Je n'ai pas modifié le code par défaut généré par XCode.Comment récupérer un objet métier à partir du retour de la méthode executeFetchRequest?
Je déclare une variable d'instance de ce type dans mon délégué de l'application et dans ma méthode appDidFinishLaunching, je suis essayer d'affecter sa valeur à partir d'un objet récupéré à partir de la base de données comme ceci:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"ConfiguracaoDaApp" inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
configDaApp = [[managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:0];
Le problème est que la ligne
[[managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:0];
ne renvoie pas un objet de type ConfiguracaoDaApp.
J'ai essayé de changer la ligne à ceci:
configDaApp = [[[managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:0] entity];
Ensuite, un NSEntityDescriptor est retourné et le problème reste le même. Donc, ma question est: comment récupérer un objet métier réel à partir d'executeFetchRequest?
Merci d'avance. Obs: pardonnez-moi si c'est une question débutant mais c'est ma première application iPhone.
Alors quel type d'objet '[[managedObjectContext executeFetchRequest: demande erreur: & erreur] objectAtIndex: 0];' return? –
Avec la ligne que vous avez demandée, elle renvoie un (ConfiguracaoDaApp_ConfiguracaoDaApp_ *). Le nom de ma classe d'objet métier concaténé deux fois. – reinaldoluckman
Votre problème est ailleurs. Votre tentative originale (traitant le résultat de 'executeFetchRequest: error:' comme un tableau d'objets "ConfiguracaoDaApp") était correcte. – gerry3