title: Difference between id<protocol> and NSObject<protocol>
body: <p>In Objective-C, <code>id&lt;protocol&gt; or NSObject&lt;protocol&gt;</code> are frequently used for delegate declaration.</p>
  
  <p>What are the main differences between id and NSObject?
  When do you want to use one versus the other?</p>