What is the difference between:
[[UIApplication sharedApplication] delegate]
and
UIApplicationDelegate
What is the difference between:
[[UIApplication sharedApplication] delegate]
and
UIApplicationDelegate
UIApplicationDelegate is a protocol definition, which means it's a set of methods an object that conforms to it should implement.
[[UIApplication sharedApplication] delegate] is the way you have to ask for application delegate of your currently running application. That delegate should conform to UIApplicationDelegate.