我想在objective-c中创建一个已经存储数据的类,以便访问数据我不想实例化该类。我该怎么做?
问问题
2365 次
1 回答
9
您可以使用单例,也可以使用仅由类方法组成的类并允许您访问静态数据。
这是 ObjC 中的基本单例实现:
@interface MySingleton : NSObject
{
}
+ (MySingleton *)sharedSingleton;
@property(nonatomic) int prop;
-(void)method;
@end
@implementation MySingleton
@synthesize prop;
+ (MySingleton *)sharedSingleton
{
static MySingleton *sharedSingleton;
@synchronized(self)
{
if (!sharedSingleton)
sharedSingleton = [[MySingleton alloc] init];
return sharedSingleton;
}
}
-(void)method {
}
@end
你像这样使用它:
int a = [MySingleton sharedSingleton].prop
[[MySingleton sharedSingleton] method];
基于类方法的类将是:
@interface MyGlobalClass : NSObject
+ (int)data;
@end
@implementation MySingleton
static int data = 0;
+ (int)data
{
return data;
}
+ (void)setData:(int)d
{
data = d;
}
@end
于 2012-10-25T07:51:40.360 回答