Quiero usar un selector en una instancia de NSObject sin la necesidad de un protocolo implementado. Por ejemplo, hay un método de categoría que debería establecer una propiedad de error si la instancia de NSObject en la que se invoca lo admite. Este es el código, y el código funciona según lo previsto:
if ([self respondsToSelector:@selector(setError:)])
{
[self performSelector:@selector(setError:) withObject:[NSError errorWithDomain:@"SomeDomain" code:1 userInfo:nil]];
}
Sin embargo, el compilador no ve ningún método con setError: signature, por lo que me da una advertencia, para cada línea que contiene el @selector(setError:)
fragmento:
Undeclared selector 'setError:'
No quiero tener que declarar un protocolo para deshacerme de esta advertencia, porque no quiero que todas las clases que pueden usar esto implementen algo especial. Solo por convención quiero que tengan un setError:
método o propiedad.
¿Es esto factible? ¿Cómo?
Saludos,
EP