我想在 Objective-C 中创建一个具有已存储数据的类,以便访问数据时我不想实例化该类。我该怎么做?
您可以使用单例,也可以使用仅由类方法组成并允许您访问静态数据的类。
这是 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)