Если вы объявляете статическую переменную в файле реализации класса, тогда эта переменная видна только этому классу.
Вы можете объявить статическую переменную в заголовочном файле класса, однако она будет видна всем классам, которые #import
содержат заголовок.
Один из обходных путей - объявить статическую переменную в родительском классе, как вы уже описали, а также создать метод класса для доступа к переменной:
@implementation ServerParser
static NSString *currentElement;
...
+ (NSString*)currentElement
{
return currentElement;
}
...
@end
Затем вы можете получить значение статической переменной, вызвав:
[ServerParser currentElement];
И все же переменная не будет видна другим классам, если они не используют этот метод.