如何在Objective-C中声明静态变量?

如何在Objective-C中声明静态变量?,objective-c,Objective C,有人能告诉我们如何将静态变量声明为目标C类的一部分吗? 我想用它来跟踪我用这个类创建的实例数。使用类的+initialize方法: @implementation MyClass static NSUInteger counter; +(void)initialize { if (self == [MyClass class]) { counter = 0; } } @end (更新为添加if(self==[MyClass class])条件,如注释中所示

有人能告诉我们如何将静态变量声明为目标C类的一部分吗?
我想用它来跟踪我用这个类创建的实例数。

使用类的
+initialize
方法:

@implementation MyClass

static NSUInteger counter;

+(void)initialize {
    if (self == [MyClass class]) {
        counter = 0;
    }
}

@end

(更新为添加
if(self==[MyClass class])
条件,如注释中所示。)

另外,如果类是子类,您可能希望确保
初始化
不会运行两次。
静态整数计数器=0有什么问题?当标准的C初始化器工作时,不需要使用
初始化
方法。JeremyP-ha,说得好!最初编写时,静态变量是NSString,初始化调用alloc/init,然后意识到Krishnan只需要一个计数器。:)