static SinodisData *sharedInstance = nil;
@implementation SinodisData
#pragma mark -
#pragma mark singleton method
- (id)init {
if (self = [super init]) {
allProducts = [[NSMutableArray alloc] init];
allRecipes = [[NSMutableArray alloc] init];
allShoppinglist = [[NSMutableArray alloc] init];
}
return self;
}
- (void)dealloc {
[super dealloc];
}
+ (SinodisData *)sharedInstance {
@synchronized(self) {
if (sharedInstance == nil)
sharedInstance = [[SinodisData alloc] init];
}
return sharedInstance;
}
+ (id)allocWithZone:(NSZone *)zone {
@synchronized(self) {
if (sharedInstance == nil) {
sharedInstance = [super allocWithZone:zone];
return sharedInstance;
}
}
return nil;
}
- (id)copyWithZone:(NSZone *)zone {
return self;
}
- (id)retain {
return self;
}
- (unsigned)retainCount {
return UINT_MAX;
}
- (void)release {
//do nothing
}
- (id)autorelease {
return self;
}单例模式
最新推荐文章于 2025-05-23 19:33:43 发布
1518

被折叠的 条评论
为什么被折叠?



