IOS项目中使用全局变量_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > IOS项目中使用全局变量

IOS项目中使用全局变量

 2013/7/15 22:48:22  candr  博客园  我要评论(0)
  • 摘要:1//2//GlobalVar.h3//45#import<Foundation/Foundation.h>67@interfaceGlobalVar:NSObject{8NSString*strTest;9}10@property(strong,nonatomic)NSString*strTest;11+(GlobalVar*)sharedGlobalVar;1213@end1//2//GlobalVar.m3//45#import"GlobalVar
  • 标签:使用 iOS 项目 全局


 1 //
 2 //  GlobalVar.h
 3 //
 4 
 5 #import <Foundation/Foundation.h>
 6 
 7 @interface GlobalVar : NSObject{
 8     NSString * strTest;
 9 }
10 @property(strong,nonatomic)NSString * strTest;
11 +(GlobalVar *)sharedGlobalVar;
12 
13 @end

 1 //
 2 //  GlobalVar.m
 3 //
 4 
 5 #import "GlobalVar.h"
 6 
 7 @implementation GlobalVar
 8 @synthesize strTest;
 9 
10 +(GlobalVar *)sharedGlobalVar{
11     static GlobalVar * globalVar;
12     @synchronized(self){//线程锁,防止数据呗多线程操作
13         if (!globalVar) {
14             globalVar=[[GlobalVar alloc]init];
15         }
16         return globalVar;
17     }
18 }
19 
20 -(id)init{
21     if (self=[super init]) {
22         strTest=@"原始字符串";
23     }
24     return self;
25 }
26 
27 @end

在另一界面添加两个button,增加测试方法

 1 -(void)btnTest:(id)sender{
 2     NSString * strTest=[GlobalVar sharedGlobalVar].strTest;
 3     NSLog(@"%@",strTest);
 4     [GlobalVar sharedGlobalVar].strTest=@"第一次修改";
 5 }
 6 -(void)btnTest1:(id)sender{
 7     NSString * strTest=[GlobalVar sharedGlobalVar].strTest;
 8     NSLog(@"%@",strTest);
 9     [GlobalVar sharedGlobalVar].strTest=@"第二次修改";
10 }

按顺序触发btnTest和btnTest1方法各两次,输出结果如下

2013-07-12 16:16:19.342 candr.alipay[25540:11303] 原始字符串
2013-07-12 16:16:20.028 candr.alipay[25540:11303] 第一次修改
2013-07-12 16:16:20.975 candr.alipay[25540:11303] 第一次修改
2013-07-12 16:16:24.628 candr.alipay[25540:11303] 第二次修改

最后一次点击时设置断点将测试字符串po出

(lldb) po [GlobalVar sharedGlobalVar].strTest
$0 = 0x0000bdac 第二次修改
(lldb) 

验证正确,完毕

 

发表评论
用户名: 匿名