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

Kri*_*nan 6 objective-c

有人能告诉我们如何将静态变量声明为Objective C类的一部分吗?我希望这能跟踪我使用此类创建的实例数.

Sim*_*ker 13

使用你班级的+initialize方法:

@implementation MyClass

static NSUInteger counter;

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

@end
Run Code Online (Sandbox Code Playgroud)

(更新为添加if (self == [MyClass class])条件,如评论中所示.)

  • 另外,如果类是子类,你可能想确保`initialize`不会运行两次? (2认同)