[résolu] Une "Unknown class AppView" mais ça marche, est-ce normal?

HerveHerve Membre
mars 2011 modifié dans API AppKit #1
Bonjour,

Lorsque je lance mon projet, ceci s'affiche en console.
Unknown class AppView in Interface Builder file at path /Users/(... chemin vers l&#039;appli...)/Contents/Resources/English.lproj/MainMenu.nib.<br />


Comme j'en parlais dans une discussion ici, j'ai créé des classes dérivant NSView reliées dans IB à  des "CustomView". Le projet marche très bien, mais il y a ce message. Remarque, lancé depuis XCode, il marche super, mais lancé depuis IB, les "CustomView" ne s'affichent même pas. Ce qui me fait dire que le problème vient de là .

Est-ce que je me trompe si je ne cherche pas à  résoudre cette alerte et si je l'ignore?

Réponses

  • CéroceCéroce Membre, Modérateur
    12:02 modifié #2
    Les Custom views ne s'affichent jamais dans IB, puisqu'aucun code n'est exécuté (à  moins de créér un IBPlugin, mais c'est une autre histoire).

    Tu as dû déclarer qu'une des custom views présentes dans le .xib est de la classe AppView. Cette classe a existé autrefois, mais n'est plus présente dans le projet. Dans ce cas, quand la vue est instanciée au chargement du .nib, la classe étant inconnue, tu obtiens ce message, et c'est une simple NSView qui est instanciée à  la place.
  • HerveHerve Membre
    12:02 modifié #3
    Merci Céroce.

    Pas moins de trois CustomViews sont déclarées comme étant des dérivées de NSView : dans l'inspecteur identité de chacune, via le menu déroulant "class", la classe associée à  chaque vue est une classe de XCode. Cela marche impec. Vu ce que tu me dis, je pense pouvoir laisser en l'état...

    A moins qu'il y ait un truc que je ne vois pas, mais là ...
  • CéroceCéroce Membre, Modérateur
    mars 2011 modifié #4
    Alors, je ne sais pas trop; essaie de faire un clean, ou mieux de virer le répertoire build/ et de reconstruire l'appli.
    Pour une erreur de ce type, tu aurais sans doute une erreur ou warning signalé dans IB.

    Ce message ne me semble pas anodin, il y a un risque que ça ne fonctionne plus dès que tu changes de build configuration ou autre. Autant essayer de le corriger, ça ne doit pas être très compliqué.
  • HerveHerve Membre
    12:02 modifié #5
    En fait, c'est la fenêtre principale qui est reliée à  une ancienne classe "AppView" qui n'existe plus! Cette fenêtre porte les boutons et les CustomView. Il faut remettre autre chose dans la fenêtre identité de AppView. Je ne sais plus le réglage par défaut par contre.... Je vais trouver cela.

    Merci Céroce.
  • HerveHerve Membre
    12:02 modifié #6
    Voilà , c'est réparé, j'ai remis sur NSWindow et NSView ma fenêtre. Comme quoi, à  force de modifier sans cesse les choses, on en oublie...
Connectez-vous ou Inscrivez-vous pour répondre.