登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

vs-yanguo的博客

 
 
 

日志

 
 
 
 

static变量的作用  

2010-10-11 14:19:26|  分类: objective c |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
objective c支持全局变量,用法和c/c++中相同。根据你的要求,这里用全局变量来实现并不合适。你需要做的是在A类的implementation文件中定义一个static变量,然后为A类定义静态成员函数(class method)来操作该变量。这样在其它类中你就不需要创建A类的实例来对static变量进行访问。虽然该static变量并不是A类的静态成员变量,但是也算达到了同样的效果。为什么不定义全局变量,关键就在于变量的作用域,static变量的作用域被限制在单一的文件中。代码可以如下所示:

//example.h
@interface Example : NSObject {

}
- (id)init;
+(int)instanceCount;
@end

//example.m
#import "example.h"

static int count;

@implementation Example
-(id)init{
    self = [super init];
    if(nil!=self){
        count+=1;
    }
    return self;
}

+(int)instanceCount{
    return count;
}
@end

上面的例子中你就可以通过[Example instanceCount]对静态变量count进行访问,无须创建实例。
  评论这张
 
阅读(134)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018