单例模式1
//当前用的最多的方法,高大上 GCD
+(instancetype)sharePerson
{
static Person *p = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
//这里代码只会被初始化一次
p = [[Person alloc]init];
});
return p;
}
单例模式2
+(JYGHMainManager *)sharedMainManager
{
static JYGHMainManager *shareRootMainManager = nil;
@synchronized(self)
{
if(shareRootMainManager == nil)
{
shareRootMainManager = [[self alloc] init];
}
}
return shareRootMainManager;
}
网友评论