[Débutant] Comprendre l'architecture d'une application à base de documents
colas_
Membre
Bonjour,
Je souhaiterais un peu mieux comprendre ce qui se passe à l'ouverture d'une application qui est "document-based".
Plus précisément, ce que j'aimerais comprendre, c'est comment s'articulent entre elles les classes, la fonction main, etc. Plus précisément encore, j'aimerais pouvoir suivre le chemin que prend l'application à son ouverture.
Sous Xcode 4.2, je crée un nouveau projet Coca "document-based", et aussi "Core data". Je ne change rien à ce nouveau projet. Si je compile et lance l'application, une fenêtre s'ouvre avec le label "Your document contents here".
Essayons de suivre ce qui se passe :
Quelqu'un peut-il m'aider à comprendre ?
Ce que je souhaite en particulier comprendre c'est comment la classe Document s'insère dans la chaà®ne. J'ai remarqué que si je remplaçais tous les noms Document.h, Document.m, Document.xib, etc. par DocumentBis.h, DocumentBis.m, DocumentBis.xib, l'application tourne encore correctement. Donc, ce n'est pas le nom "Document" qui permet d'insérer cette classe dans la "chaà®ne".
à‰videmment, si vous avez des liens à ce sujet, je suis preneur !
Merci !
Je souhaiterais un peu mieux comprendre ce qui se passe à l'ouverture d'une application qui est "document-based".
Plus précisément, ce que j'aimerais comprendre, c'est comment s'articulent entre elles les classes, la fonction main, etc. Plus précisément encore, j'aimerais pouvoir suivre le chemin que prend l'application à son ouverture.
Sous Xcode 4.2, je crée un nouveau projet Coca "document-based", et aussi "Core data". Je ne change rien à ce nouveau projet. Si je compile et lance l'application, une fenêtre s'ouvre avec le label "Your document contents here".
Essayons de suivre ce qui se passe :
- J'imagine que l'application commence par exécuter le fichier main.m
- Dans la fonction main, il n'y a rien. Juste un appel à
return NSApplicationMain(argc, (const char **)argv);
- Donc, déjà , là , je suis perdu !
- Pour essayer de comprendre ce qui se passe, je tente deux choses.
a) je change le nom de MainMenu.xib
/cool.png' class='bbc_emoticon' alt='B)' /> je change le File's Owner de MainMenu.xib - Dans les deux cas, si je compile, l'application tourne comme avant.
- Donc, cela ne m'apprend toujours pas comment la classe Document et les .xib MainMenu.xib et Document.xib s'insèrent dans la "chaà®ne" de l'application.
Quelqu'un peut-il m'aider à comprendre ?
Ce que je souhaite en particulier comprendre c'est comment la classe Document s'insère dans la chaà®ne. J'ai remarqué que si je remplaçais tous les noms Document.h, Document.m, Document.xib, etc. par DocumentBis.h, DocumentBis.m, DocumentBis.xib, l'application tourne encore correctement. Donc, ce n'est pas le nom "Document" qui permet d'insérer cette classe dans la "chaà®ne".
à‰videmment, si vous avez des liens à ce sujet, je suis preneur !
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est expliqué dans la classe NSApplication
Pour les documents tu as le tuto http://developer.app...0011179-CH2-SW3
Ca se passe dans le fichier info.plist
http://developer.app...1179-CH6-997699
En particulier le champ NSDocumentClass désigne le nom de la classe document de ton appli (et non pas le nom du fichier dans laquelle tu as défini cette classe), c'est cette classe qui est instanciée au démarrage.
Ensuite, le chargement du nib spécifique au document est déterminé par la méthode:
Le fichier Document.xib sera donc chargé et la fenêtre contenue dans ce fichier xib ouverte.
Lis bien la doc Apple sur les applications document-based ça devrait répondre à tes interrogations ...
Merci !