-respondsToSelector: allows you to check if a particular object responds to a specific selector if your application crashes if you still send a message to it.
-performSelector: (withObject :) just calls a specific method, for example
[object performSelector:@selector(retain)]
will be equal
[object retain]
Why do you need this? A convenient example is presented NSArray: it allows the selector to execute all the objects that it contains, for example
[self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]
will be equal
for (UIView *view in self.subviews)
{
[view removeFromSuperview];
}
-makeObjectsPerformSelector: .