I'm not really sure what you are asking, but maybe this will help:
A protocol is a collection of methods, some required, some optional. The question answered by conformsToProtocol:
is whether an object claims to implement a bunch of methods - the required ones - and may implement some others - the optional ones. Note that it is claims to here, rather than does, as failure to implement a required method does not prevent compilation (it is just a warning).
The question answered by respondsToSelector:
is whether an object implements a particular method. This provides a definitive answer for this particular method, unlike conformsToProtocol:
.
The definitive nature of respondsToSelector:
is why it is commonly used.
You may be thinking that checking for the protocol in addition to the method is better as it implies a stronger likelihood that the method does what you expect, and if so using both respondsToSelector:
and conformsToProtocol:
tells you the answer you seek... sort of - as protocols really are just method names and signatures, the behaviour of those methods being implied rather than enforced(*).
HTH.
(* if you want enforced contracts look at, for exmaple, Eiffel)