【发布时间】:2010-06-29 10:52:54
【问题描述】:
我有一个计数器,用于在该计数器索引处获取一个对象,我需要在另一个类中访问它。
Objective C 中如何声明静态变量?
【问题讨论】:
标签: objective-c variables static
我有一个计数器,用于在该计数器索引处获取一个对象,我需要在另一个类中访问它。
Objective C 中如何声明静态变量?
【问题讨论】:
标签: objective-c variables static
与其将其设为全局,不如让一个类访问另一个类的计数器,或者让两个类共享拥有计数器的第三个类:
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;
}
【讨论】:
嗨,alJaree,
您在您的类的实现中声明一个静态变量,并通过静态访问器启用对它的访问:
some_class.h:
@interface SomeClass {...}
+ (int)counter;
@end
some_class.m:
@implementation SomeClass
static int counter;
+ (int)counter { return counter; }
@end
【讨论】:
#import "some_class.h" 进入每个使用计数器的实现文件。