面经

谈一谈iOS单例模式

2016-11-01  本文已影响258人  未来可期me

这篇文章主要和大家谈一谈iOS中的单例模式,单例模式是一种常用的软件设计模式,想要深入了解iOS单例模式的朋友可以参考一下

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

//线程安全写法1
 
static UserHelper * helper = nil;
 
+ (UserHelper *)sharedUserHelper {
 
 @synchronized(self) {
 
   
 
  if (helper == nil) {
 
   helper = [[UserHelper alloc] init];
 
  }
 
 }
 
 return helper;
 
}
//线程安全写法2(苹果推荐,主要用这个)
 
static UserHelper * helper = nil;
 
+ (UserHelper *)sharedUserHelper {
 
  
 
static dispatch_once_t onceToken;
 
 dispatch_once(&onceToken, ^{
 
  helper = [[UserHelper alloc] init];
 
 });
 
  
 
 return helper;
 
}
上一篇 下一篇

猜你喜欢

热点阅读