[UIApplication sharedApplication].delegate 调用全局变量

来源:互联网 发布:ip是设备还是网络连接 编辑:程序博客网 时间:2024/06/05 19:43

#UIApplication,顾名思义,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是上面的[UIApplication sharedApplication]来得到一个实例。这个单例实例是在系统启动时由main函数里面的UIApplicationMain方法生成,就是每个程序里都有的AppDelegate,它实现了UIApplicationDelegate的Protocol,也就是AppDelegate的一个实例。每次通过[UIApplication sharedApplication]调用的就是它。


----------------------------在AppDelegate.h 中定义全局变量------------------------

@interface AppDelegate : UIResponder <UIApplicationDelegate>{
SinaWeibo * _sinaweibo;

@property (strong,nonatomic) SinaWeibo *sinaweibo;
@end

在AppDelegate.m 文件中 
@implementation AppDelegate

//注意释放
- (void)dealloc
{
[ _sinaweibo release ];


在需要使用的视图控制器中,应用appdelegate
AppDelegate *appDelegate=[[UIApplication sharedApplication] delegate];

 return appDelegate.sinaweibo


------------------------#sharedApplication#----------------------------------------

它里面的实现应该就是这样,返回一个UIApplication实例

static UIApplication * application = nil;

+(UIApplication*) shareApplication{

    if(application == nil){

        application= [[UIApplication alloc]init];

    }

    return application;

}


0 0
原创粉丝点击