项目里访问AppDelegate

项目里面访问AppDelegate做全局变量用有好几种方式

最原始就是

    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

 

然后 appDelegate.yourMethord,但每个文件里面这么搞几下挺烦的,所以要想办法简略一下

1,有用宏的

 

#defineAppDelegate(YourAppDelegate*)[[UIApplication sharedApplication]delegate]

2,扩展Catogory来访问的

 

有在UIApplication上扩展,也有NSObject上直接扩展,我觉得后面这个会影响一点效率吧

3,直接在AppDelegate上暴露一个Class Methord 了事。

 

 

static AppDelegate *appDelegate = nil;
@implementation AppDelegate

- ( BOOL)application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary*)launchOptions {
        appDelegate = self;
//......
}

+ (AppDelegate *)delegate{
    return appDelegate;
}

 

猜你喜欢

转载自huqiji.iteye.com/blog/2249571