[Obj-C] Comment executer une méthode au lancement ?

NeoJF

Membre actif
1 Novembre 2000
485
6
39
1 chance sur 10 comme toi !
rch.web.free.fr
Après mon poste sur NSDate (merci à ce qui m'ont répondu, ça marche
grin.gif
) j'aimerais savoir comment on envoie un message à un objet au lancement d'une app, mon but étant récupérer la date courante pour la mettre dans un champ NSTextField au lancement de l'app.
J'ai cherché avec l'objet NSApplication et les NSNotifications mais je ne sais pas vraiment si c'est le bon moyen et comme je n'ai pas de base et qu'il y en a bcp dans l'aide sur NSApp et Notifications je me sentais un peu perdu...
confused.gif

Merci pour votre aide
smile.gif
 
Quand tu programmes en cocoa objective C, il y a des choses de base qu'il faut savoir.
Lorsque tu définis une interface avec Interface Builder, tu crées une NIB. Lors de l'affichage de ton interface, le runtime cocoa exécute AUTOMATIQUEMENT une méthode qui s'appelle awakeFromNib. généralement c'est cette méthode qu'on implémente dans son objet d'interface pour initialiser des champs comme ton NSTextField.
Ainsi donc tu dois ajouter à ton objet Controller cette méthode.
Ah! j'oubliais. Quand tu crées une interface, tu DOIS avoir un objet de type controller qui va avec. c'est d'ailleurs dans cet objet contoller que tu définis les outlets et les méthodes.
Exemple: J'ai une interface crée avec Interface Builder qui se nomme monInterface, dans Interface builder je crée un objet instance de NSObject et qui s'appelle monInterfaceCotroller et matérialiser par IB par une brique cubique.
C'est dans cet objet que tu définis les outlets et les actions.
Tu connectes ensuite les outlets aux éléments d'interface dans le sens de la circulation des données, et les boutons de l'interface aux actions (méthodes) du controller.
D'ailleurs c'est dans un Controller que tu as du définir l'outlet maDate associée au NStextField dans lequel tu charges ta date.
J'espère que ces explications t'aideront.

[28 décembre 2001 : message édité par Manu]