この方法を使うと、ApplicationDelegateのサブクラス(この例だとHOGEApplication)をどこからでも呼び出せます。共有変数をApplicationDelegateに持たせておけば便利そうですね。全体で使う変数はAppDelegateのサブクラスのプロパティとして持たせておくと便利ですね。
HOGEAppDelegate * appDelegate =
(HOGEAppDelegate *)[[UIApplication sharedApplication] delegate];
(HOGEAppDelegate *)[[UIApplication sharedApplication] delegate];