博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-C 静态变量 使用方法
阅读量:6050 次
发布时间:2019-06-20

本文共 996 字,大约阅读时间需要 3 分钟。

 

Objective-C静态变量使用方法是本文要介绍的内容,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. //example.m     
  12. #import "example.h"     
  13.     
  14. static int count;    
  15.     
  16. @implementation Example    
  17. -(id)init{    
  18. self = [super init];    
  19. if(nil!=self){    
  20. count+=1;    
  21. }    
  22. return self;    
  23. }    
  24.     
  25. +(int)instanceCount{    
  26. return count;    
  27. }    
  28.     
  29. @end    
  30. //example.h  
  31. @interface Example : NSObject {  
  32.  
  33. }  
  34.  
  35. - (id)init;  
  36. +(int)instanceCount;  
  37.  
  38. @end  
  39.  
  40.  
  41. //example.m  
  42. #import "example.h"  
  43.  
  44. static int count;  
  45.  
  46. @implementation Example  
  47. -(id)init{  
  48. self = [super init];  
  49. if(nil!=self){  
  50. count+=1;  
  51. }  
  52. return self;  
  53. }  
  54.  
  55. +(int)instanceCount{  
  56. return count;  
  57. }  
  58. @end 

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

 

转载地址:http://wsxex.baihongyu.com/

你可能感兴趣的文章
相对/绝对路径,cd命令,mkdir/rmdir命令,rm命令
查看>>
tomcat中web.xml各配置项的意义
查看>>
Nodejs学习笔记(二):《node.js开发指南》代码中需要注意的几点
查看>>
Ztree异步加载自动展开节点
查看>>
反射操作公共成员变量
查看>>
Android热修复升级探索——代码修复冷启动方案
查看>>
学校宿舍的深夜之思考
查看>>
字符串的扩展
查看>>
神奇语言 python 初识函数
查看>>
Windows安装Composer出现【Composer Security Warning】警告
查看>>
企业架构研究总结(22)——TOGAF架构开发方法(ADM)之信息系统架构阶段
查看>>
linux
查看>>
[Hadoop]MapReduce多输出
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>
jquery easyUI checkbox复选项获取并传后台
查看>>
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
第一阶段冲刺报告(一)
查看>>