Assigning to 'id<Delegate>' from incompatible type 'ViewController *const_strong' Assigning to 'id<Delegate>' from incompatible type 'ViewController *const_strong' objective-c objective-c

Assigning to 'id<Delegate>' from incompatible type 'ViewController *const_strong'


At this line :

gameAddViewContoller.delegate=self; 

Notice that self is of type ViewController which does NOT conform to the GameAddViewController protocol.


For me what ended up happening is that I wasn't adding the delegate to the @interface on my header file

For example

@interface TheNameOfYourClass : UIViewController <TheDelegatorClassDelegate>@end


You are putting the < GameAddViewControllerDelegate > in the wrong place. It doesn't go on GameAddViewController, it goes on ViewController.