2010-05-20 4 views
3

Je suis sûr que c'est un problème très simple mais je m'arrache les cheveux dessus!Luttant avec la fenêtre de NSWindowController Outlet

J'ai une sous-classe de NSWindowController appelée WinAController. Cela a été créé dans IB et se trouve dans MainMenu.xib.

J'ai une plume séparée appelée WinA.xib qui contient juste une seule fenêtre. Dans ce nib, je définir les paramètres suivants:

  1. Classe du propriétaire du fichier à WinAController
  2. La propriété window du propriétaire du fichier à Wina
  3. délégué des Wina à WinAController (qui met en œuvre le protocole NSWindowDelegate).

J'ai accroché un élément de menu MainMenu à la méthode -showWindow de WinAController de sorte que lorsque vous cliquez dessus, Wina doit afficher, mais rien ne se passe. Il semble que la propriété window de WinAController n'est pas définie.

Où est-ce que je me trompe? Ai-je besoin d'initialiser WinAController avec WinA.xib à un moment donné dans le code pour le paramétrer?

Merci,

Répondre

0

Ceci, appelé de WinAController, semble fonctionner parfaitement:

- (id)init { 
// Load our window from the nib 
self = [super initWithWindowNibName:@"WinA"]; 

// Now we're initialised - return us 
return self; 
} 
0

Garry - J'avais un problème similaire avec une boîte de dialogue en utilisant le code dans votre réponse ci-dessus. Je pouvais obtenir la boîte de dialogue à afficher une fois, mais elle n'était plus jamais visible après cela (j'avais une application de test simple avec une fenêtre avec un bouton pour afficher la boîte de dialogue). J'ai continué à voir des réponses avec "connecter la sortie de fenêtre sur l'objet propriétaire de votre fichier à la fenêtre de votre plume", mais je n'ai pas compris comment le faire. Cela ressemble à une partie de ce que vous demandez.

Voici ce que j'ai compris: Avec votre solution, vous devez également suivre les étapes à ce lien - Connect Window Controller Outlet to Window

Questions connexes