O_C 创建单例有两种方式
1、使用线程锁
+(instancetype) shareInstance
{
// static dispatch_once_t once;
@synchronized(self)
{
if (doctorUser_ == nil)
{
doctorUser_ = [[LMDoctorUser alloc]init];
}
return doctorUser_;
}
}
2、使用dispatch_once_t
+(instancetype) shareInstance
{
static dispatch_once_t once;
dispatch_once(&once, ^{
doctorUser_ = [[LMDoctorUser alloc]init];
});
return doctorUser_;
}
对于使用线程锁的单例可以使用如下方法对单例数据进行清空
+ (void) destroyShareInstance
{
doctorUser_ = nil;
}
对于使用dispatch_once的数据该怎么清空,求大神!!!