2010-11-12 7 views
8

Aquí está mi firma del método para "targetMethod":tratando de conseguir más simple ejemplo posible de performSelector: withObject trabajo

-(void)targetMethod: (id)arg; 

Esto funciona:

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

Esto no hace

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

Resulta en el siguiente error:

- [SelectorTest targetMethod]: selector no reconocido enviado a la instancia 0x4e075d0

¿Qué estoy haciendo mal?

Respuesta

17

Está escribiendo incorrectamente el nombre del selector.

Es @selector(targetMethod:), no @selector(targetMethod).

El ":" cuenta; es parte del nombre del método.

+1

ack. Por supuesto. Maldito. No estaba deletreando mal en mi ejemplo más complicado que no estaba funcionando. – morgancodes

+0

Oh, no, no lo estaba haciendo de la manera correcta. – morgancodes

+2

¡Gracias, gracias! Ahora tengo que vendarme la frente. – morgancodes

Cuestiones relacionadas