扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一,全局变量
创新互联是一家专业提供朝阳县企业网站建设,专注与成都网站建设、做网站、html5、小程序制作等业务。10年已为朝阳县众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。1,在m文件中的所有方法,类定义和函数定义之外
例:Square.m中定义一个全局变量 , 在main.m中引用
Square.m代码如下:
// // Square.m // Square // // Created by Apple on 2017/9/9. // Copyright 2017年 Apple. All rights reserved. // #import "Square.h" int global_val = 20;//定义一个全局变量 @implementation Square : Rectangle -(void) setSide:(int)s { [ self setWidth:s addHeight:s]; } -(int) side { return self.width; } @end
使用外部的全局变量要使用extend关键字
main.m代码如下:
// // main.m // Square // // Created by Apple on 2017/9/9. // Copyright 2017年 Apple. All rights reserved. // #import#import "Square.h" int main(int argc, const char * argv[]) { @autoreleasepool { extern int global_val;// int s = global_val; NSLog(@"我得到的全局变量为 : %i" , s); return 0;} }
结果如下:
既然是全局变量,那么任何地方的修改都会在全局产生作用
进一步测试
Square.m代码:
// // Square.m // Square // // Created by Apple on 2017/9/9. // Copyright 2017年 Apple. All rights reserved. // #import "Square.h" int global_val = 20;//定义一个全局变量 @implementation Square : Rectangle -(void) setSide:(int)s { [ self setWidth:s addHeight:s]; } -(int) side { return self.width; } -(void) change { global_val = 30;//此处改变全局变量的值 } -(int) get_global { return global_val; } @end
main.m
// // main.m // Square // // Created by Apple on 2017/9/9. // Copyright 2017年 Apple. All rights reserved. // #import#import "Square.h" int main(int argc, const char * argv[]) { @autoreleasepool { extern int global_val;// int s = global_val; NSLog(@"我得到的全局变量为 : %i" , s); Square *mySquare = [[Square alloc] init]; [mySquare change]; NSLog(@"Square change 后 s : %i ;;;;; 的全局变量 : %i" , s , global_val); global_val = 100; NSLog(@"s = %i , Square 中的全局变量 : %i " , s , [mySquare get_global]); return 0;} }
结果:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流