Argument dans le selecteur ?
muqaddar
Administrateur
Salut,
J'ai l'impression qu'on ne peut pas passer un argument dans un sélecteur :
[item setAction:@selector(selectView: @monItem)];
semble poser problème, mais pas :
[item setAction:@selector(selectView];
J'ai l'impression qu'on ne peut pas passer un argument dans un sélecteur :
[item setAction:@selector(selectView: @monItem)];
semble poser problème, mais pas :
[item setAction:@selector(selectView];
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Sinon si tu n'as que le sélecteur, pour mettre un argument, c'est performSelector:withObject: (withObject: ). Si tu as deux objets, tu peux mettre un deuxième withObjet, et si tu en as 3 ou, tu les mets dans un tableau et tu utilises la méthode avec un seul argument.
Je vois que tout est prévu.
Les méthodes de type performSelector:withObject: spécifient seulement le message a envoyer, mais aucun ciblage. Ce qui est suffisant dans bien des cas...
Mais pour aller plus loin dans ce sens, il est possible d'utiliser la classe NSInvocation.
Un objet de classe NSInvocation contient tout les éléments d'un message Objective-C : Une cible, un sélecteur, des arguments, et la valeur de retour. L'objet NSInvocation peut-être modifié pour faire des appels multiples en changeant un ou plusieurs de ces attributs. Cette classe permet beaucoup de choses, dont la communication inter-classes et inter-applications. (distributed objects)