title: iPhone - UIImagePickerControllerDelegate inheritance
body: <p>I have added a <code>UIImagePickerController</code> to a <code>UIViewController</code>. I have also assigned the <code>UIImagePickerControllerDelegate</code> to that <code>UIViewController</code>. </p>
  
  <p>When I execute the following line,</p>
  
  <pre><code>myPicker.delegate = self;
  </code></pre>
  
  <p><strong><em>Xcode</em></strong> gifts me with the following message:</p>
  
  <blockquote>
    <p>warning: assigning to
    id
    from incompatible type 'RootViewController'</p>
  </blockquote>
  
  <p>Then I added the <code>UINavigationControllerDelegate</code> protocol to the same <code>UIViewController</code> and the error message vanished.</p>
  
  <p>So, do I have to add both protocols to the <code>UIViewController</code> when I add a <code>UIImagePickerController</code>?</p>
  
  <p>If the <code>UIImagePickerController</code> is a subclass of <code>UINavigationController</code> as stated in the docs, shouldn't this be automatic? Why do I have to add its parent's delegate protocol and not just the <code>UIImagePickerControllerDelegate</code> protocol?</p>
  
  <p>Is this a bug or am I missing something?</p>