对于单例模式刚开始挺陌生,到后来发现会挺好用,
static MyGizmoClass *sharedGizmoManager = nil;
+ (MyGizmoClass*)sharedManager
{
if (sharedGizmoManager == nil) {
sharedGizmoManager = [[super allocWithZone:NULL] init];
}
return sharedGizmoManager;
}
+ (id)allocWithZone: (NSZone *)zone
{
return [[self sharedManager] retain];
}
- (id)copyWithZone: (NSZone *)zone
{
return self ;
}
- (id)retain
{
return self;
}
- (NSUInteger)retainCount
{
return NSUIntegerMax; //denotes an object that cannot be released
}
- (void)release
{
//do nothing
}
- (id)autorelease
{
return self;
}
如果需要修改里面的某属性时,只需调用修改就可