@implementation Me
static Car *sharedInstance= nil;//声明一个静态对象引用并赋为nil
+(Me *) sharedInstance//声明类方法(+为类方法,也就是Java中的静态方法)
{
if(!sharedInstance)
{
sharedInstance = [[self alloc] init];
}
return sharedInstance;
}
@end
//覆盖allocWithZone:方法可以防止任何类创建第二个实例。使用synchronized()可以防止多个线程同时执行该段代码(线程锁)
+(id)allocWithZone:(NSZone *) zone
{
@synchronized(self)
{
if(sharedInstance == nil)
{
sharedInstance = [super allocWithZone:zone];
return sharedInstance;
}
}
return sharedInstance;
}
直接类名调用类方法就行了