您的位置:首页 > 移动开发 > IOS开发

IOS学习之ios全局变量定义和使用

2015-09-15 10:38 531 查看


在iPhone开发中,全局变量的几种使用方法



方法1:使用静态变量 (不推荐)

方法2: 使用singleton pattern (ref link: /article/7463156.html)

方法3:把全局变量设置到AppDelegate中


在iPhone开发中,使用全局变量有这么几种实现方法:

1、 在AppDelegate中声明并初始化全局变量

然后在需要使用该变量的地方插入如下的代码:

//取得AppDelegate,在iOS中,AppDelegat被设计成了单例模式

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

appDelegate.Your Variable
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(我试过直接 url = @"www.google.com" 好像也能访问 )
extern int count;
count = 0;//非指针类型
2.5 使用全局变量:和使用普通变量一样使用。

方法二:ios 单例全局变量写法

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";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: