Comment récupérer le nom d'une image qui est dans une NSImageView

CrazyJoCrazyJo Membre
23:23 modifié dans API AppKit #1
Hi !  ;)

J'ai une NSImageView et j'aimerais savoir le nom de l'image qu'elle contient.
Je pense que c'est semblable à  une recupération d'un texte dans un NSTextView comme ça :
[userName stringValue]
. Je pense qu'il faut juste remplacer le stringValue . J'ai cherché dans la doc mais dans NSControl il y a toujours que stringValue.

merci

Réponses

  • schlumschlum Membre
    août 2007 modifié #2
    Une image n'a pas de nom... Drôle de question  ???

    [Edit] Bon, j'ai rien dit... Ceci-dit, ce nom n'est pas toujours défini...
  • Philippe49Philippe49 Membre
    23:23 modifié #3
    dans 1187368277:

    Hi !  ;)

    J'ai une NSImageView et j'aimerais savoir le nom de l'image qu'elle contient.


    Pour qu'une NSImage soit associée à  un nom il faut sur-classer
    @interface MyImage : NSObject {
    NSImage * image;
    NSString * name; // nom choisi pour l'image
    NSString * path ; // éventuellement, chemin d'accès au fichier
    }
    @ end

    ou sous-classer NSImage
    @interface MyImage : NSImage {
    NSString * name;
    NSString * path ;
    }
    @ end
  • Eddy58Eddy58 Membre
    23:23 modifié #4
    Quel est ton besoin exact ? Il existe les méthodes name et setName de NSImage : :o

    Récupérer le nom de l'image :
    <br />[[monImageView image] name];<br />
    


    Changer le nom de l'image :
    <br />[[monImageView image] setName:@&quot;NomImage&quot;];<br />
    


    La documentation de la méthode imageNamed renseigne sur le fonctionnement de la recherche d'image par nom.
  • Philippe49Philippe49 Membre
    23:23 modifié #5
    Ah oui, je ne l'avais pas vu celle là  ...
    Pas idiot, sans doute lié à  un mécanisme de cache ?
  • Eddy58Eddy58 Membre
    23:23 modifié #6
    Un référentiel :

    The NSImage class keeps a reference to any named images in a table until the image name is cleared. Consequently you do not need to retain the returned image object unless its name could be cleared. You can clear an image object from the table by passing nil to the setName: method of the corresponding NSImage object.
  • Philippe49Philippe49 Membre
    23:23 modifié #7
    ce qui fait qu'une fois l'image enregistrée par un nom, on peut la rappeler par [NSImage imageNamed:@....] ?
  • Eddy58Eddy58 Membre
    23:23 modifié #8
    Je n'ai jamais essayé, mais oui ça doit marcher.
  • CrazyJoCrazyJo Membre
    23:23 modifié #9
    dans 1187388855:

    Quel est ton besoin exact ? Il existe les méthodes name et setName de NSImage : :o

    Récupérer le nom de l'image :
    <br />[[monImageView image] name];<br />
    


    Changer le nom de l'image :
    <br />[[monImageView image] setName:@&quot;NomImage&quot;];<br />
    


    La documentation de la méthode imageNamed renseigne sur le fonctionnement de la recherche d'image par nom.


    Oui Oui c'était la méthode name que je cherchais  <3 merci<br />j'ai vraiment encore du mal avec la doc .. :(
  • AntilogAntilog Membre
    août 2007 modifié #10
    dans 1187428882:

    j'ai vraiment encore du mal avec la doc ..

    Je ne le dirais jamais assez:
    AppKiDo http://homepage.mac.com/aglee/downloads/appkido.html
Connectez-vous ou Inscrivez-vous pour répondre.