title: What exactly are protocols and delegates and how are they used in IOS?
body: <p>I'm really confused about the concept of delegates and protocols. Are they equivalent of interfaces and adapter classes in Java? How do they work? 
  None of the resources I've read were helpful so far. 
  "Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other object—the delegate—and at the appropriate time sends a message to it." I have no idea what this means. 
  Can someone please explain what they are and give a simple example? Thanks in advance!</p>
  
  <p>EDIT: </p>
  
  <p>As far as I now understand, </p>
  
  <p>1) delegates implement protocols (another name for interfaces)</p>
  
  <p>2) object registers a delegate (that implements a protocol)</p>
  
  <p>3) object can call protocol methods on the delegate</p>
  
  <p>Therefore, a delegate is connecting the object with the protocol.</p>
  
  <p>Please correct me if I'm wrong.</p>
  
  <p>I still don't understand why the object itself can't implement a protocol? It could've been so much easier!</p>