Je sais qu'il y a d'autres questions sur ce sujet, mais aucune ne semble correspondre exactement à ce que je vis, d'où la nouvelle question.Comment référencer le managedObjectContext dans mon App Delegate de mon View Controller?
J'ai une application qui est un UITabBarController, j'ai défini deux sous-vues
Les deux onglets ont leur attribut de classe dans l'identité inspecteur mis à UINavigationController.
Les deux sous-vues sont Classe UIViewController et contiennent des objets MKMapView. J'essaie d'intégrer des données de base avec l'objectif étant que je peux utiliser des données de base pour stocker des informations sur l'objet que je veux placer sur la carte.
J'ai mon UITabBarController défini comme 'rootController' dans mon fichier d'en-tête Delegate. J'ai aussi les propriétés managedObjectModel, managedObjectContext et persistentStoreCoordinator qui y sont définies.
Dans la mise en œuvre du délégué je les accesseurs standard pour les propriétés ci-dessus et j'ai rootController défini comme suit:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:rootController.view];
[window makeKeyAndVisible];
}
Dans mes contrôleurs de vue pour les vues de l'enfant, j'ai défini mon managedObjectContext et synthétisé il .
Maintenant, pour mon problème, je ne peux pas obtenir le compilateur pour me permettre de référencer le managedObjectContext dans le délégué d'application à partir des contrôleurs de vue.
J'ai essayé ce qui suit dans la méthode applicationDidFinishLaunching:
firstView.managedObjectContext = self.managedObjectContext;
Mais je viens d'obtenir l'erreur suivante:
Accessing unknown 'setManagedObjectContext:' class method
Quelqu'un peut-il me aider à cela?
Merci
Mise à jour:
Pour ajouter à ma question, je vais la tête de quelques réponses en fournissant plus de détails
J'ai une déclaration @class dans mon appdelegate.h fichier J'ai une # déclaration d'importation dans mon fichier appdelegate.m pour le fichier firstView.h J'ai déclaré ma firstView comme suit dans mon fichier appdelegate.h
FirstView *firstView;
En fait, j'ai trouvé une faute de frappe. Je référençait la classe plutôt que l'instance dans mon instruction firstView.managedObjectContext. Compiler sans erreurs maintenant. Merci @ Gerry3 – conorgriffin
Oui, le fait que le message d'erreur que vous receviez disait "class method" était étrange, alors je me demandais comment vous utilisiez la classe plutôt qu'une instance de cette classe. Heureux que tu es parvenu à le faire fonctionner. – gerry3