RosettaCodeData/Task/Singleton/Objective-C/singleton-2.m

39 lines
484 B
Mathematica
Raw Permalink Normal View History

2013-04-11 01:07:29 -07:00
// SomeSingleton.m
@implementation SomeSingleton
2013-06-05 21:47:54 +00:00
+ (SomeSingleton *) sharedInstance
2013-04-11 01:07:29 -07:00
{
2013-06-05 21:47:54 +00:00
static SomeSingleton *sharedInstance = nil;
if (!sharedInstance) {
2013-04-11 01:07:29 -07:00
sharedInstance = [[SomeSingleton alloc] init];
}
return sharedInstance;
}
- (id)copyWithZone:(NSZone *)zone
{
return self;
}
- (id)retain
{
return self;
}
- (unsigned)retainCount
{
return UINT_MAX;
}
2013-06-05 21:47:54 +00:00
- (oneway void)release
2013-04-11 01:07:29 -07:00
{
// prevent release
}
- (id)autorelease
{
return self;
}
@end