使用关键字static对任何范围外声明的变量进行前缀防止该变量可从外部访问。但是,它是否限制了使用它的类别的范围?
Foo.m
@implementation Foo
static void* FooContext = &FooContext;
- (void)methodThatUsesFooContext { ... }
@end
Foo+SpecialSauce.h
@implementation Foo (Special Sauce)
- (void)anotherMethodThatWouldLikeToUseFooContext { ... }
@end
答案 0 :(得分:1)
在文件的顶层声明的静态变量(即,在任何函数或方法调用之外)对该文件中的任何内容都是可见的。