• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Objective-C实现全局变量

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Objective-C 支持全局变量,主要有两种实现方式:第一种和C/C++中的一样,使用"extern"关键词;另外一种就是使用单例实现。(比如我们经常会把一个变量放在AppDelegate里面作为全局变量来访问,其中AppDelegate就是一个单例类)

 

在Objective-C中如何实现像C++中那样的静态成员变量呢?

你需要做的是在一个类A的implementation(.m或者.mm)文件中定义一个static变量,然后为A类定义静态成员函数(class method,也就是类方法)来操作该变量。这样在其它类中你就不需要创建A类的实例来对static变量进行访问。虽然该static变量并不是A类的静态成员变量,但是也算达到了同样的效果。static变量的作用域被限制在单一的文件中。代码可以如下所示:

  1. //example.h  
  2. @interface Example : NSObject {  
  3.   
  4. }  
  5.   
  6. - (id)init;  
  7. +(int)instanceCount;  
  8.   
  9. @end  
  10.   
  11.   
  12. //example.m  
  13. #import "example.h"  
  14.   
  15. static int count;  
  16.   
  17. @implementation Example  
  18. -(id)init{  
  19. self = [super init];  
  20. if(nil!=self){  
  21. count+=1;  
  22. }  
  23. return self;  
  24. }  
  25.   
  26. +(int)instanceCount{  
  27. return count;  
  28. }  
  29.   
  30. @end  

 


上面的例子中你就可以通过[Example instanceCount]对静态变量count进行访问,无须创建实例。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Objective-C占位符发布时间:2022-07-12
下一篇:
Ubuntu18.04 如何解决编译objective-c出现undefined reference to objc_get_class ...发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap