Вместо того, чтобы сделать его глобальным, предоставить одному классу доступ к счетчику другого класса, или пусть оба класса совместно используют третий класс, которому принадлежит счетчик:
ClassA.h:
@interface ClassA {
int counter;
}
@property (nonatomic, readonly) int counter;
ClassA.m
@implementation ClassA
@synthesize counter;
ClassB.h:
#import "ClassA.h"
@interface ClassB {
ClassA *a;
}
ClassB.m:
@implementation ClassB
- (void)foo {
int c = a.counter;
}