如何从代码中的任何位置访问实现UIApplicationDelegate的对象?

时间:2011-03-18 16:15:09

标签: objective-c cocoa-touch ios uikit uiapplicationdelegate

从我的代码中的任何位置访问我的应用程序方法(实现UIApplicationDelegate的对象)的正确方法是什么?

2 个答案:

答案 0 :(得分:6)

Caleb是对的,在下面添加了一个提示,可以节省打字并增加AppKit和UIKit之间的对称性。

如果您是Mac程序员,您可能习惯于像这样访问代理,

   [NSApp delegate]

在AppKit中,NSApp是这样定义的,

   #define NSApp [NSApplication sharedApplication]

所以要在iOS中获得类似的功能,

   #define UIApp [UIApplication sharedApplication]

然后,要访问该委托,您将执行此操作:

   [UIApp delegate]

答案 1 :(得分:3)

id<UIApplicationDelegate> delegate = [[UIApplication sharedApplication] delegate];