Problème de nib...

22:45 modifié dans API AppKit #1
Bonjour à  tous.

Voici un extrait de code de mon application :

NSLog(@Almost done);
[NSBundle loadNibNamed:@LAIPAdressCriteria owner:self];
NSLog(@Done);

Lorsqu'il est exécuté, seul "Almost done" est affiché. En fait, ca crach dans le loadNibNames, et sans me dire pourquoi. Quelqu'un a-t il une idée de ce qu'il peut se passer?

Réponses

  • Eddy58Eddy58 Membre
    22:45 modifié #2
    Ton fichier nib est-il placé correctement dans tes ressources ? Es-tu sûr du nom que tu passes en paramètre ? :)
  • 22:45 modifié #3
    Oui. En fait c'est pas le seul fichier nib que je charge dynamiquement. Le problème ne se produit qu'à  cet emplacement.

    Lorsque je tente de charger un autre nib à  cet emplacement du code, j'ai le même problème...
  • Eddy58Eddy58 Membre
    22:45 modifié #4
    Oui c'est curieux, le problème vient alors du contexte, il faudrait nous donner plus d'infos sur le code qui entoure ton instruction pour déterminer la cause... :o
  • 22:45 modifié #5
    Voici la méthode complète :

    - (NSView *) optionView
    {
    if(view == nil)
    {
    NSLog(@Almost done);
    [NSBundle loadNibNamed:@LAIPAdressCriteria owner:self];
    NSLog(@Done);
    }
    return view;
    }

    Je voulais charger le nib dans un accesseur. Cet accesseur renvoie un NSView.

    Le contexte est le suivant. J'ai une NSTable géré par un NSArrayController modifié. Lorsque l'utilisateur sélectionne un élément dans la NSTable, le NSArrayController va chercher la NSView correspondant à  l'objet sélectionné, et l'affiche en dessous du NSTable.

    C'est avec cet accesseur que je comptais récupérer la NSView (qui est connecté à  la propriété view de self (fileowner), au chargement du fichier Nig).

    Je suis en train de modifier le code pour que ce ne soit plus le cas. En effet, je vais charger le NIB dans le ArrayController modifié. Cela dit, y a-t il une raison pour laquelle le code évoqué ne fonctionne pas?
  • 22:45 modifié #6
    La solution évoqué dans mon précédent post à  résolu le problème.

    :adios!:

    Merci a Eddy58 pour ta participation.
Connectez-vous ou Inscrivez-vous pour répondre.