In my projects, if I need an object which can be accessed globally, we create a Singleton manager object for it. And most of the time, it has to do with Settings.
The following code demonstrates a safe way to declare singleton objects:
+ (SettingsManager *)sharedManager
static dispatch_once_t onceToken;
static SettingsManager *manager;
if (manager == nil)
manager = [[SettingsManager alloc] init];