全局变量的“static”关键字 - 范围限于什么?

时间:2012-01-25 21:07:17

标签: objective-c objective-c-category

使用关键字static对任何范围外声明的变量进行前缀防止该变量可从外部访问。但是,它是否限制了使用它的类别的范围?

Foo.m
@implementation Foo

static void* FooContext = &FooContext;

- (void)methodThatUsesFooContext { ... }

@end


Foo+SpecialSauce.h
@implementation Foo (Special Sauce)

- (void)anotherMethodThatWouldLikeToUseFooContext { ... }

@end

1 个答案:

答案 0 :(得分:1)

在文件的顶层声明的静态变量(即,在任何函数或方法调用之外)对该文件中的任何内容都是可见的。