A protocol is an agreed set of methods that are implemented by a class, when that class states it adheres to that protocol.
Those methods might be optional or required, this is set in the protocol definition.
Best course is to look here (requires sign in) and indeed read the whole of this guide as it a good starting point to understanding underlying design patterns in cocoa and objective-c.
solved Protocol in iOS [closed]