AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
什么意思

解决方案 »

  1.   

    你应该注意到了一个iOS工程必然有一个这文件:@interface AppDelegate : UIResponder <UIApplicationDelegate>
    ...AppDelegate,顾名思义就是整个app运行期间的一个”代理“。它能让你获取app的系统级状态,如app进入后台、进入前台、获取到DeviceToken、接收到了远程通知等,还能让你获取到当前app的keyWindow(主窗口,只有这一种方式可以获取),慢慢地你就了解了。。
      

  2.   

    分解一下就更清晰了
    UIApplication *application = [UIApplication sharedApplication]; 
    应用程序在运行时只有一个实例,所以在设计时UIApplication 被设计成了“单例” 
    AppDelegate *delegate = [application delegate];
    AppDelegate 为应用程序委托对象,当一些生命周期内重要事件(可以包括系统事件或者生命周期控制事件)发生时,应用程序通知该对象。例如,应用程序启动、内存不够了或者应用程序结束等,让这些事件发生时,应用程序委托去响应。