我在某处读到,Objective-C 没有类级别属性,但是可以通过声明类似的内容(在类接口(interface)之前)来实现相同的目的:
static NSInteger initCount;
我使用初始化方法将变量初始化为零:
// interface
+ (void) initialize;
// implementation
+ (void) initialize {
initCount = 0;
}
在创建/释放实例时递增/递减:
- (id) init {
self = [super init];
initCount++;
return self;
}
- (void) dealloc {
[name release];
initCount--;
[super dealloc];
}
但是 XCode 不断警告我“'initCount'已定义但未使用”。
有什么办法可以解决这个问题,还是我应该忽略这个警告?
最佳答案
它应该放在你的实现文件中,而不是你的接口(interface)中。如果将其放入 header 中,则将在导入 header 的每个文件中创建一个名为 initCount
的单独变量(因为静态变量具有文件范围,并且在文本上#import
插入 header 的内容)。
关于objective-c - Objective-C 中的类级别属性(删除警告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456208/