¿Por qué se generan avisos al llamar a métodos no declarados en una interfaz de clase utilizando medios convencionales, pero no cuando se llaman a métodos utilizando @selector? ¿Se debe a que los selectores pueden ser ejecutados por un interlocutor diferente de uno mismo?¿Por qué Xcode no se queja de los métodos no declarados al usar @selector?
Por ejemplo:
-(void) doStuff
{
[self doNow]; // Warning: instance method not found
SEL sel = @selector(doNow); // no warnings
}
-(void) doNow {} // this method is not declared in the interface
+1 solo para la documentación. –
Gracias. Parece inconsistente de Apple tener esta opción desactivada por defecto. –