iphone 声明和使用全局变量

1、在AppDelegate中声明并初始化全局变量 
然后在需要使用该变量的地方插入如下的代码: 

Java代码   收藏代码
  1. //取得AppDelegate,在iOS中,AppDelegat被设计成了单例模式  
  2. AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];  
  3. appDelegate.xxx = @"xxx";  

//在AppDelegate.h里设置 
Java代码   收藏代码
  1. @interface AppDelegate : UIResponder <UIApplicationDelegate>{  
  2.     NSString *name;  
  3. }  
  4. @property NSString* name;  
  5. @end  


Java代码   收藏代码
  1. //在AppDelegate.m里设置  
  2. @implementation AppDelegate  
  3. @synthesize name;  
  4. ...  
  5. @end  

2、使用 extern 关键字 
         2.1 新建Constants.h文件(文件名根据需要自己取),用于存放全局变量; 
         2.2 在Constants.h中写入你需要的全局变量名,例如: 
                  NSString *url;//指针类型 
                  int count;//非指针类型 
                  注意:在定义全局变量的时候不能初始化,否则会报错! 
         2.3  在需要用到全局变量的文件中引入此文件: 
                   #import "Constants.h"  
         2.4 给全局变量初始化或者赋值: 
         extern NSString *url;  
         url = [[NSString alloc] initWithFormat:@"http://www.google.com"];//指针类型;需要alloc 
         extern int count; 
         count = 0;//非指针类型 
         2.5  使用全局变量:和使用普通变量一样使用。 

3、单例的全局访问方法: 
@interface MySingleton : NSObject 

⇒①    NSString *testGlobal; 


+ (MySingleton *)sharedSingleton; 
⇒②@property (nonxxxx,retain) NSString *testGlobal; 

@end 

@implementation MySingleton 
⇒③@synthesize testGlobal; 

+ (MySingleton *)sharedSingleton 

  static MySingleton *sharedSingleton; 

  @synchronized(self) 
  { 
    if (!sharedSingleton) 
      sharedSingleton = [[MySingleton alloc] init]; 

    return sharedSingleton; 
  } 


@end 

把①、②、③的地方换成你想要的东西, 
使用例: 
[MySingleton sharedSingleton].testGlobal = @"test";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值