title: Type id <Protocol1> does not conform to id <Protocol2> -- but it does!
body: <p>Alright, I have two protocols in the same header file, let's call them Protocol1 and Protocol2.  I have a main app controller that conforms to both protocols, and an NSWindowController subclass that has the following member:</p>
  
  <pre><code>id &lt;Protocol1, Protocol2&gt; delegate;
  </code></pre>
  
  <p>I'm getting a warning at the end of my NSWindowController subclass implementation that "type id  does not conform to Protocol2".  But, as shown, the delegate must conform to both protocols, which it does.</p>
  
  <p>Furthermore, the application works perfectly.  Is there some other way to do this?  I suppose I could just fold the two protocols in together, but that would hurt the modularity of the program.</p>
  
  <p><b>EDIT:</b></p>
  
  <p>Here are the two protocols.  As this is more of a test scenario, they're short.</p>
  
  <pre><code>@protocol TPTBController &lt;NSObject&gt;
  
  -(void)sendGrowlMessage:(NSString *)message title:(NSString *)title;
  
  @end
  
  @protocol AddPower &lt;NSObject&gt;
  
  -(void)addPower:(NSArray *)array;
  -(void)setCanAddPower:(BOOL)can;
  
  @end
  </code></pre>