我有一个计数器,用于在该计数器索引处获取一个对象,我需要在另一个类中访问它。
如何在Objective C中声明静态变量?
答案 0 :(得分:2)
不是将其设为全局,而是让一个类访问另一个类的计数器,或让两个类共享拥有该计数器的第三个类:
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;
}
答案 1 :(得分:1)
嗨alJaree,
您在Your类的实现中声明了一个静态变量,并通过静态访问器启用对它的访问:
some_class.h:
@interface SomeClass {...}
+ (int)counter;
@end
some_class.m:
@implementation SomeClass
static int counter;
+ (int)counter { return counter; }
@end