There is a simple way of testing if a method exist in an object using Objective-C. This can be achieved using the respondsToSelector method. The code snippet is given below
Here, the method that we were checking if exists using objective-C is "methodName" that has two parameters.
We can also use the static message instancesRespondToSelector:(SEL)selector if you would like to call one constructor or another one depending on this. This method allows you to check before having the instance of the class. The objective-c code snippet is given below:
if ([obj respondsToSelector:@selector(methodName:withParam:)]) {
[obj methodName:123 withParam:456];
}
Here, the method that we were checking if exists using objective-C is "methodName" that has two parameters.
We can also use the static message instancesRespondToSelector:(SEL)selector if you would like to call one constructor or another one depending on this. This method allows you to check before having the instance of the class. The objective-c code snippet is given below:
[MyClass instancesRespondToSelector:@selector(someMethod:withParams:)]
or like this:
[[myObject class] instancesRespondToSelector:@selector(someMethod:withParams:)]