0
点赞
收藏
分享

微信扫一扫

iphone 声明和使用全局变量


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

//取得AppDelegate,在iOS中,AppDelegat被设计成了单例模式
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.xxx = @"xxx";


//在AppDelegate.h里设置


@interface AppDelegate : UIResponder <UIApplicationDelegate>{
NSString *name;
}
@property NSString* name;
@end



//在AppDelegate.m里设置
@implementation AppDelegate
@synthesize name;
...
@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";


举报

相关推荐

0 条评论