项目里面访问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; }