我是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;
}
答案 0 :(得分:2)
您所做的一切看起来都不错,但您应该在实现(.m
文件)中声明静态变量。
所以你会有类似的东西:
@interface ClassA:NSObject
+(int) initCount;
@end
// ClassA.m
static int count = 0;
@implementation
+(int) initCount{
return count;
}
@end
Objective-C没有“类变量”,但是这样做会创建一个伪类变量。