iphone 设置全局变量的几种方法
一般的软件 都有一个 登陆的功能,然后根据登陆的UserID 查看不同的信息,这也就意味着UserID 是一个 全局变量,之后的类我们都需要用到,所以 这也就需要定义 全局变量来解决问题,这里提供2种方法:
第一种
把全局变量设置到AppDelegate中
使用很简单,在AppDelegate.h文件中 写入你需要的变量,在AppDelegate.m中加入
@synthesize +你刚刚在 .h中加入的变量
需要使用的时候倒入 头文件
添加以下代码:
AppDelegate *delegate=(AppDelegate*)[[UIApplication sharedApplication]delegate];
delegate.你的变量=YES;
第二种:(转自 http://nice.iteye.com/blog/855839 感谢ncie)
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";