title: Assigning incompatible type to a delegate
body: <p>Environment: Xcode Version 6.0 (6A254o) running iOS 8.0 SDK
  <p>
     I'm attempting to assign the main UIViewController (presenting controller) as the delegate to the presented popup UIViewController:</p>
  
  <pre><code>#import "MainViewController.h"
  #import "OrangeViewController.h"
  #import "MessageViewController.h"
  
  @interface MainViewController () &lt;UIAdaptivePresentationControllerDelegate&gt;{
      OrangeViewController *orangeVC;
      MessageViewController *msgVC;
  }
  @property (weak, nonatomic) IBOutlet UIBarButtonItem *helpBarItem;
  
  @end
  
      @implementation MainViewController
      ...    
      - (void)viewDidLoad {
          [super viewDidLoad];
          UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
          UIPopoverPresentationController *msgPC = [msgVC popoverPresentationController];
          msgPC.barButtonItem = self.helpBarItem;
          msgPC.delegate = self; &lt;-- incompatible type
          msgPC.permittedArrowDirections = UIPopoverArrowDirectionAny;
          msgVC.preferredContentSize = CGSizeMake(260.0, 240.0);
      }
  </code></pre>
  
  <p>However I'm getting an incompatible assignment for the delegate:</p>
  
  <p><img src="https://i.stack.imgur.com/YLIyL.png" alt="enter image description here"></p>
  
  <blockquote>
    <p>...MainViewController.m:40:20: Assigning to
    'id' from incompatible type
    'MainViewController *const __strong'</p>
  </blockquote>
  
  <p>How do I change the MainViewController (self) from 'const-strong' to what's compatible with the UIPopover view controller (or via the best solution)?</p>