«статическое» ключевое слово для глобальных переменных - чем ограничен объем? - PullRequest
1 голос
/ 26 января 2012

Префикс переменной, объявленной вне какой-либо области действия, с ключевым словом static предотвращает внешнюю доступность этой переменной.Однако ограничивает ли он область действия категории, в которой он используется?

Foo.m
@implementation Foo

static void* FooContext = &FooContext;

- (void)methodThatUsesFooContext { ... }

@end


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

- (void)anotherMethodThatWouldLikeToUseFooContext { ... }

@end

1 Ответ

1 голос
/ 26 января 2012

Статические переменные, объявленные на верхнем уровне файла (т. Е. Вне каких-либо вызовов функций или методов), видны всему внутри этого файла.

...