Let say I have a NSObject AppController:NSObject. Using IB, I drag an NSObject control into MainMenu.xib and points the class to AppController. Since MainMenu.xib is loaded once and objects inside MainMenu.xib are in memory for the life of the app, does it make the AppController object a singleton?
Then I can drag an IBOutlet to AppDelegate to access this singleton object. This looks like a quick way. Is this a good practice or to be discouraged?
The standard method I supposed is to add a static AppController *sharedInstance inside the class and use a +(AppController *)sharedAppController for access.
No, it’s not a singleton because nothing stops you from creating another instance of the same class in code.
It’s just a convenient way to create a single instance.
This is not true. If nobody retains these objects (or holds a strong reference to them under GC), they will get deallocated.This is true. See Peter Hosey’s comment below.