title: "Incompatible pointer..." warning on assigning delegate to self
body: <p>I have a custom subclass of UITableView with a protocol defined in it as below:</p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  
  @protocol CustomDelegate &lt;NSObject&gt;
  @optional
  -(NSInteger)numberOfRows;
  @end
  
  @interface CustomTV : UITableView &lt;UITableViewDelegate, UITableViewDataSource&gt;{  
      id&lt;CustomDelegate&gt; *del;
  }
  @property (nonatomic, assign)    id&lt;CustomDelegate&gt; *del;
  @end
  </code></pre>
  
  <p>Now in some other class, I instantiate this CustomTV and set the delegate to self:</p>
  
  <pre><code>    CustomTV *tbl = [[CustomTV alloc] initWithFrame:CGRectMake(0, 0, 200, 400) style:UITableViewStylePlain];
      tbl.del = self;
  </code></pre>
  
  <p>Why do I get an "Incompatible pointer..." warning on the line <code>tbl.del = self</code> ?</p>
  
  <p>I did conform to the CustomDelegate protocol in the header.</p>