title: Property attribute in class extension does not match the primary class
body: <p>I'm implementing the NSFilePresenter protocol:</p>
  
  <pre><code>@protocol NSFilePresenter &lt;NSObject&gt;
  @required
  
  @property (readonly, copy) NSURL *presentedItemURL;
  @property (readonly, retain) NSOperationQueue *presentedItemOperationQueue;
  
  @end
  </code></pre>
  
  <p>Of course I would like to access <code>presentedItemURL</code> and <code>presentedItemOperationQueue</code> writing internally too.</p>
  
  <p>So I declared my private interface like this:</p>
  
  <pre><code>@interface MyClass () &lt;NSFilePresenter&gt;
  
  @property (copy) NSURL *presentedItemURL;
  @property (retain) NSOperationQueue *presentedItemOperationQueue;
  
  @end
  </code></pre>
  
  <p>But <code>presentedItemURL</code> will return a warning:</p>
  
  <pre><code>'copy' attribute on property 'presentedItemURL' does not match the property inherited from 'NSFilePresenter'
  </code></pre>
  
  <p>We might discuss if this warning makes sense here at all. But all I want to achieve is to get rid of the warning without writing my own setter, using KV-coding or any other trick.
  Oddly enough the compiler is fine with <code>presentedItemOperationQueue</code>.</p>
  
  <p>Even using this doesn't solve the problem</p>
  
  <pre><code>#pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wall"
  @property (copy) NSURL *presentedItemURL;
  #pragma clang diagnostic pop
  </code></pre>