En fait lorsqu'on développe sous cocoa, il y a des automatismes qu'il faut absolument avoir.
A savoir chaque fois que tu as une interface, toutes tes initialisations avant de l'afficher se font dans awakeFromNib qui est une METHODE de ton CONTROLLER et non une fonction. En effet CHAQUE INTERFACE EST ASSOCIE A UN OBJET CONTROLLER materialisé par un cube dans ta NIB.
quand tu crées une interface TOTO, tu DOIS avec Inetrface Builder génerer un objet tctcController dans lequel tu fais des associations (connection dans le langage IB) entre les outlets (déclarés ensuite par IBoutlet xxx) et les éléments de ton interface et entre les boutons et les actions (Methodes que tu dois développer).
la methode awakeFromNib est la PREMIERE METHODE exécutée par le RUNTIME cocoa avant d'afficher toute interface.
D'autre part il faut savoir qu'il existe des méthodes décrites comme étant les 'delegate methods'. Ce sont des méthodes implémentées par un objet désigné comme délégué de ton totoController. Ces méthodes sont en général appelés par le runtime cocoa lorsque surviennent certains évènements comme par exemple la fermeture par l'utilisateur de la fenêtre de ton interface.
Si tu dois faire certains controles c'est à ce moment là. Ces méthodes ont généralement la syntaxe suivante xxxDidyyyy avec xxx= objet concernée (ex: fenetre), et xxx l'action demandée par l'utilisater. exemple windowsDidClose ou applicationDidFinished.
Ces méthodes sont implémentées par le délégué de la fenêtre ou de l'application.
C'est d'ailleurs dans la méthode awakeFromNib que tu dois préciser quels sont les délégués.
Si par exemple tu implémentes tes méthodes délégués dans ton totoController, tu dois dans la methode awakeFromNib dire [fenetre setDelegate:self]; fenetre etant le nom de la fenêtre de mon interface controllée par totoController.
N'oublie pas que fenetre est un IBoutlet déclarée dans totoController, et que tu l"as 'connecté' avec la Fenêtre de ton interface (C'est une instance de l'objet NSWindows).
Il faut ABSOLUMENT comprendre les 2 notions Fondamentales qui font tout le charme de cocoa qui sont :
- La notion de DELEGUE
- La notion de NOTIFICATION CENTER.
Sans cela tu n'utilisera pas bien cocoa et c'est vraiment dommage.
Si tu veux plus de précisions je te les donnerai.
A+