[[UIApplication sharedApplication] delegate]
returns a id<UIApplicationDelegate>
which must be cast to BDSAppDelegate
in order to prevent the warning.
In other words, all BDSAppDelegate
's are a id<UIApplicationDelegate>
but that doesn't mean that all id<UIApplicationDelegate>
are a BDSAppDelegate
.