I have a tabbar based application and do the following to get a reference to the application delegate:
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
Which then gives this warning:
warning: type 'id <UIApplicationDelegate>' does not conform to the 'UITabBarControllerDelegate'
My application delegate header looks like this:
#import <UIKit/UIKit.h>
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
UIWindow *window;
UITabBarController *tabBarController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
@end
The only methods in the .m file are applicationDidFinishLaunching and dealloc. What else do I need to conform to the protocol?
It's a static warning. It means that the return type of [[UIApplication sharedApplication] delegate]
does not conform to the tab bar delegate protocol, which is true.
Cast the value returned from [[UIApplication sharedApplication] delegate]
to get rid of the warning:
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With