首页 > 代码库 > 单例各种写法

单例各种写法

1.  + (id)sharedInstance{    static dispatch_once_t once = 0; //被访问次数 当访问一次的时候 下次就不在访问了    __strong static id _sharedObject = nil;    dispatch_once(&once, ^{        _sharedObject = [[self alloc] init];    });    return _sharedObject;}

 

2.

 static AccountManager *DefaultManager = nil;     + (AccountManager *)defaultManager {  @synchorzied(self){//线程安全  但是访问次数多的话   会 效率低下    if (!DefaultManager) DefaultManager = [[self allocWithZone:NULL] init];      return DefaultManager;  }}  

 

 

单例各种写法