我正在尝试实现现有类的类别。 现有类中有一个静态变量。 如果我尝试从类别中访问静态变量,我会得到 静态变量未声明的错误。
是否可以访问ObjC Categories中的静态变量?
答案 0 :(得分:3)
为了清楚起见,Objective-C不会将静态变量与类相关联。默认情况下,静态变量只是作用于它们声明的文件。
要在其他文件中显示静态变量,请在相应的头文件中添加一个前缀为关键字extern
的声明。例如,如果您在一个.m文件中的某处定义了以下静态变量
int seconds = 60;
然后您可以在.h文件中添加以下声明:
extern int seconds;
然后,导入该.h文件的任何.m文件都将看到静态变量。