2008-10-29 9 views
4

J'ai une application où j'ai un main.m qui renvoie NSApplicationMain(argc, (const char **) argv);.NSApplication et -applicationDidFinishLaunching:

Je veux exécuter le code sur -applicationDidFinishLaunching:, mais je ne vois tout simplement pas comment le faire.

Quelqu'un peut-il aider ou avoir un exemple?

Merci! -Jason

Répondre

15

La méthode applicationDidFinishLaunching: du délégué NSApplication sera appelée lorsque l'application aura terminé le chargement. De nombreux modèles de projet définissent un délégué. Si vous en utilisez un, ajoutez simplement la méthode appropriée.

Si votre projet n'a pas de délégué d'application configuré, vous devrez le faire vous-même. Tout d'abord, créez une nouvelle classe pour agir en tant que délégué (vous pouvez utiliser une nouvelle classe si quelque chose est logiquement approprié). Assurez-vous maintenant que la classe est instanciée dans votre MainMenu.nib. Enfin, accrochez la propriété delegate de l'objet "propriétaire du fichier" au délégué instancié dans IB.

+0

ahh cacao est si intuitif: D – Shawn

+2

Si pour une raison quelconque vous n'utilisez pas une plume (et si non, pourquoi pas?), Vous pouvez configurer vous-même l'instance de délégué d'application dans main.m. Vous devrez arrêter d'utiliser NSApplicationMain() et gérer vous-même certaines choses, puis appeler [[NSApplication sharedApplication] run]; –

0

La réponse de Louis est concise et ponctuelle. Cependant, si le concept des méthodes de délégation est nouveau pour vous, vous feriez bien de consulter le relevent documenation.