[Débutant] Comprendre l'architecture d'une application à  base de documents

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 :
  1. J'imagine que l'application commence par exécuter le fichier main.m
  2. Dans la fonction main, il n'y a rien. Juste un appel à 
    return NSApplicationMain(argc, (const char **)argv);
    

  3. Donc, déjà , là , je suis perdu !
  4. Pour essayer de comprendre ce qui se passe, je tente deux choses.

    a) je change le nom de MainMenu.xib

    image/cool.png' class='bbc_emoticon' alt='B)' /> je change le File's Owner de MainMenu.xib
  5. Dans les deux cas, si je compile, l'application tourne comme avant.
  6. 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 !

Réponses

  • mpergandmpergand Membre
    mars 2013 modifié #2
    Salut,




    • return NSApplicationMain(argc, (const char **)argv);
    • Donc, déjà , là , je suis perdu !





    C'est expliqué dans la classe NSApplication



    Pour les documents tu as le tuto http://developer.app...0011179-CH2-SW3


    Donc, ce n'est pas le nom "Document" qui permet d'insérer cette classe dans la "chaà®ne".




    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:
    <br />
    - (NSString *)windowNibName<br />
    {<br />
    return @&quot;Document&quot;;<br />
    }<br />
    




    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 ...
  • 'mpergand' a écrit:


    Ca se passe dans le fichier info.plist




    Merci !
Connectez-vous ou Inscrivez-vous pour répondre.