Getting a reference to the UIApplication delegate
Solution 1
Yes, UIApplication is a singleton, and uses the normal singleton pattern for Objective-C:
[UIApplication sharedApplication];
You can get your delegate class directly from it:
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
Solution 2
Use:
[[UIApplication sharedApplication] delegate];
Related videos on Youtube
derGral
Apparently, this user prefers to keep an air of mystery about them.
Updated on April 11, 2020Comments
-
derGral about 4 years
I'm writing my first iPhone application and I'm having trouble switching views. I have 2 views and a reference to each in the
AppDelegate
(an instance ofUIApplicationDelegate
). I create instances of both in theapplicationDidFinishLaunching
and immediately show the first view. This works fine.The problem is the reference to the other view is in the AppDelegate and I can't figure out how to get a reference to it so I can switch to the other view. Is there a way to get a reference to the main
UIApplication
orUIApplicationDelegate
objects? -
Mehdi Ijadnazar over 8 yearsit may be obvious but worth noting that MyApplicationDelegate is the name of the class that conforms to the protocol UIApplicationDelegate, in many cases AppDelegate
-
Akbar Khan almost 3 yearsI am trying this but getting errors. AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 'sharedApplication' is unavailable: not available on iOS (App Extension) - Use view controller based solutions where appropriate instead.