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

objective-c中的static

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

   在方法之外定义的变量不仅是全局变量,还是外部变量.但是很多场合,我们只需要定义为全局变量,并不是外部变量.也就是说希望定义的全局变量只在特定文件中是全局的,这个变量也只有在特定的类中的方法能访问,再也没有其他方法需要访问这个变量了.

   这就引出了static.

   被static修饰过的变量,在本文件中可以访问,在别的文件则不能.

   在Objective-C中的static并不是像JAVA中那样好用.

   在Objective-C中如何实现像Java中那样的静态成员变量呢?在java里只需要定义static就行了.

   在OC中你需要做的是在一个类A的implementation(.m或者.mm)文件中定义一个static变量,

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

@interface Example : NSObject {

}

 

- (id)init;

+(int)instanceCount; 

@end

 

//example.m

#import "example.h"

staticint count;

 

@implementation Example

-(id)init{

    self = [super init];

    if(nil!=self){

        count+=1;

    }

    returnself;

}

 

+(int)instanceCount{

    return count;

}

 @end

 

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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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