title: Assigning to 'id<Delegate>' from incompatible type 'ViewController *const_strong'
body: <p>Throughout my app, I'm getting semantic issue warnings when I set <code>ViewController.delegate = self</code>.  I have searched and found similar posts but none were able to solve my problem.</p>
  
  <p>ViewController.m:</p>
  
  <pre><code>GameAddViewController *gameAddViewContoller = [[navigationController viewControllers] objectAtIndex:0];
  gameAddViewContoller.delegate=self;
  </code></pre>
  
  <p>I get the error message when setting <code>.delegate=self</code>.</p>
  
  <p>GameAddViewController.h:</p>
  
  <pre><code>@protocol GameAddViewControllerDelegate &lt;NSObject&gt;
  
  - (void)gameAddViewControllerDidCancel:(GameAddViewController *)controller;
  - (void)gameAddViewController:(GameAddViewController *)controller didAddGame:(Game *) game;
  
  @end
  
  @interface GameAddViewController : UITableViewController &lt;GameAddViewControllerDelegate&gt;
  {
  sqlite3         *pitchcountDB;
  NSString        *dbPath;
  }
  @property (nonatomic, strong) id &lt;GameAddViewControllerDelegate&gt; delegate;
  ...
  @end
  </code></pre>
  
  <p>ViewController.h:</p>
  
  <pre><code>#import "GameAddViewController.h"
  
  @class ViewController;
  @protocol ViewControllerDelegate &lt;NSObject&gt;
  - (void)ViewControllerDidCancel:(ViewController *)controller;
  
  @end
  @interface ViewController : UIViewController &lt;ViewControllerDelegate&gt;
  -(void) checkAndCreateFile;
  @end
  </code></pre>
  
  <p>Can anyone point me in the right direction to resolve the warning messages?</p>