title: Overriding properties which conform to protocols
body: <p>I seem to be getting a new error when using LLVM Compiler 2.0, which I haven't had before.</p>
  
  <p>I have a protocol called <a href="https://github.com/danielctull/DTGridView/blob/master/DTGridView.h#L188" rel="noreferrer">DTGridViewDelegate</a> defined as:</p>
  
  <p><code>@protocol DTGridViewDelegate &lt;UIScrollViewDelegate&gt;</code></p>
  
  <p>I have a property called <a href="https://github.com/danielctull/DTGridView/blob/master/DTGridView.h#L116" rel="noreferrer"><code>delegate</code> on DTGridView</a> (a subclass of UIScrollView, which itself has a <code>delegate</code> property). This is defined as:</p>
  
  <p><code>@property (nonatomic, assign) IBOutlet id&lt;DTGridViewDelegate&gt; delegate;</code></p>
  
  <p>Now the message I get is:</p>
  
  <p><code>DTGridView.h:116:63: error: property type 'id&lt;DTGridViewDelegate&gt;' is incompatible with type 'id&lt;UIScrollViewDelegate&gt;' inherited from 'UIScrollView'</code></p>
  
  <p>Because I had said that the DTGridViewDelegate conforms to UIScrollViewDelegate, I thought that this would be ok to override this property in this way, and indeed this is the first compiler to suggest there is a problem.</p>
  
  <p>I have fixed the error by declaring the property as such:</p>
  
  <p><code>@property (nonatomic, assign) IBOutlet id&lt;DTGridViewDelegate, UIScrollViewDelegate&gt; delegate;</code></p>
  
  <p>I am wondering whether this is a compiler issue?</p>