如何在Objective-C中定义静态类变量?

时间:2013-09-03 23:20:27

标签: objective-c

我是Object-C的新手。我想知道如何定义静态类变量。我基于一本书来编码:

static int count = 0; // staic class variable
@interface ClassA : NSObject{
}

+(int) initCount;
+(void) initialize;
@end

@implementation ClassA

-(id) init{
    if(self = [super init]){
        count++;
    }
    return self;
}

+(int) initCount{
    return count;
}

+(void) initialize{
    count = 0;
}
@end

你知道,变量count不在ClassA中,我可以像C ++一样定义staic类变量吗? 在C ++中,我们可以这样定义:

@interface ClassA : NSObject{
static int count;
}

1 个答案:

答案 0 :(得分:2)

您所做的一切看起来都不错,但您应该在实现(.m文件)中声明静态变量。

所以你会有类似的东西:

@interface ClassA:NSObject 
+(int) initCount;
@end
// ClassA.m
static int count = 0;
@implementation
+(int) initCount{
  return count;
}
@end

Objective-C没有“类变量”,但是这样做会创建一个伪类变量。