appel d'une méthode d'instance
sisopetron
Membre
Bonjour,
Je poursuis l'étude du cocoa et je me retrouve confronté à un problème que je n'arrive pas à résoudre.
J'ai une classe Anniversaires dans laquelle j'ai écris une méthode qui s'appelle afficheAlerte:. C'est une IBAction. La méthode fonctionne parfaitement.
Je voudrais pouvoir appeler cette méthode à partir d'une autre classe : AppController. Dans ma classe AppController, j'importe le header de Anniversaires. Mais comment dois-je faire l'appel de la méthode afficheAlerte: ?
Je pensais qu'un simple
suffirait, mais mon alerte s'affiche deux fois dans ce cas là .
Je ne trouve pas de solution pour que mon alerte ne s'affiche qu'une seule fois.
Merci d'avance pour votre aide.
Didier
Je poursuis l'étude du cocoa et je me retrouve confronté à un problème que je n'arrive pas à résoudre.
J'ai une classe Anniversaires dans laquelle j'ai écris une méthode qui s'appelle afficheAlerte:. C'est une IBAction. La méthode fonctionne parfaitement.
Je voudrais pouvoir appeler cette méthode à partir d'une autre classe : AppController. Dans ma classe AppController, j'importe le header de Anniversaires. Mais comment dois-je faire l'appel de la méthode afficheAlerte: ?
Je pensais qu'un simple
anniversaires = [[Anniversaires alloc] init];<br />[anniversaires afficheAlerte:self];
suffirait, mais mon alerte s'affiche deux fois dans ce cas là .
Je ne trouve pas de solution pour que mon alerte ne s'affiche qu'une seule fois.
Merci d'avance pour votre aide.
Didier
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Pourrais tu mettre le code de ta classe Anniversaire ?
La méthode employé semble correcte, mais tout dépend de ce que tu fais non seulement dans ta méthode init (classe Anniversaire) mais aussi dans AppController...
Voilà pour le code de la méthode et ci dessous l'appel à partir de appController :
Si j'ai bien compris ce que j'ai appris jusqu'ici, ma classe anniversaires est instanciée dans IB. Serait-ce le fait que je recrée une instance de anniversaires qui ferait que ça s'affiche deux fois ?
Si tu as effectivement déjà instancié un objet dans IB alors peut être as fait modifié quelque chose qui appelle automatiquement ton action "afficheAlerte". Au pire, si tu ne t'en sert pas, supprime l'instance dans IB.
Rmq:
Je ne suis pas un grand expert, mais je me demande s'il ne faut pas un release dans ta méthode "afficheAlerte".
Merci quand même pour ton aide.
tata !
Didier
Mets un point d'arrêt dans la méthode afficheAlerte et tu sauras qui appelle cette méthode.