2010-09-10 19 views
0
bouton

Je les exigences suivantes:l'action appelant obtenu à partir

  1. Obtenir action associée à l'aide NSButton: - (SEL)action
  2. Appelez le l'action obtenue.

Pouvons-nous effectuer 2ème pt. En général, nous invoquons une action comme celle-ci - [self abc:nil] en pensant simplement si nous pouvons invoquer la méthode obtenue à partir du 2ème pt. de la même manière!

Merci,

Miraaj

Répondre

1

Essayez:

SEL actionSelector = [button action]; 
[self performSelector: actionSelector withObject:nil]; 
+0

merci ... pour la solution :) – Devarshi

1

L'action est juste un sélecteur au nom d'une méthode. N'importe quel nombre d'objets peut avoir une méthode de ce nom, et même si une seule classe implémente la méthode, vous pouvez avoir n'importe quel nombre d'instances de cette classe. Ainsi, vous ne pouvez pas simplement appeler le nom d'une méthode, car cela n'exprime pas quel objet y répondra. Vous avez besoin d'un objet qui implémente cette méthode et vous devez envoyer ce message par son nom à cet objet.

L'objet le plus probable pour lequel vous voulez envoyer le message d'action est la cible du bouton, alors récupérez-le de la même manière que vous l'avez fait et envoyez le message à cet objet. Ou, mieux encore, envoyez le bouton a performClick: message; Si vous voulez simuler l'utilisateur en cliquant sur le bouton, c'est la façon de le faire.