2010-11-12 3 views
8

Voilà ma signature de la méthode pour "targetMethod":essayer d'obtenir exemple le plus simple possible performSelector: withObject travail

-(void)targetMethod: (id)arg; 

Cela fonctionne:

[myObject targetMethod:@"called the regular way"]; 

Cela ne

[myObject performSelector:@selector(targetMethod) withObject:@"called using selector"]; 

Il en résulte l'erreur suivante:

- [SelectorTest targetMethod]: sélecteur non reconnu envoyé à l'instance 0x4e075d0

Qu'est-ce que je fais mal?

Répondre

17

Vous avez mal orthographié le nom du sélecteur.

C'est @selector(targetMethod:), pas @selector(targetMethod).

Les comptages ":"; cela fait partie du nom de la méthode.

+1

ack. Bien sûr. Zut. Je ne l'ai pas mal orthographié dans mon exemple plus compliqué qui ne fonctionnait pas. – morgancodes

+0

Oh, non, je ne le faisais pas correctement avant. – morgancodes

+2

Merci merci thankyou! Maintenant j'ai besoin d'aller panser mon front. – morgancodes

Questions connexes