Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
A protocol is a list of methods that is shared among classes. The methods listed in the protocol do not have corresponding implementations; they’re meant to be implemented by someone else (like you!). A protocol provides a way to define a set of methods that are somehow related with a specified name. The methods are typically documented so that you know how they are to perform and so that you can implement them in your own class definitions, if desired.
If you decide to implement all of the required methods for a particular protocol, you are said to conform to or adopt that protocol.