你的位置:首页 > 软件开发 > 操作系统 > IOS中的单例设计模式

IOS中的单例设计模式

发布时间:2015-03-30 20:00:23
单例设计模式是IOS开发中一种很重要很常用的一种设计模式。它的设计原理是无论请求多少次,始终返回一个实例,也就是一个类只有一个实例。下面是苹果官方文档中关于单例模式的图片:   如图所示,左边的图是默认的多例模式,只要发送请求去创建对象,就会得到一个新的对象;而右侧的图是单例 ...

IOS中的单例设计模式

  单例设计模式IOS开发中一种很重要很常用的一种设计模式。它的设计原理是无论请求多少次,始终返回一个实例,也就是一个类只有一个实例。下面是苹果官方文档中关于单例模式的图片:

IOS中的单例设计模式

 

  如图所示,左边的图是默认的多例模式,只要发送请求去创建对象,就会得到一个新的对象;而右侧的图是单例模式,发送多个请求创建对象,但是最后返回的始终是同一个。

  因为创建单例类的实例是在确保没有其他实例的情况下才创建的,并且在程序中使用的过程中始终是同一个实例,因此单例类可以作为提供一个全局访问资源的类,比如NSUserDefaults,我们可以通过它存储数据,它里面的数据就是全局的,无论在哪个类里面操作都是一样的。此外,一个单例类还可以防止调用者复制、保留或释放实例。因此,在开发的工程中可以根据需要来创建不同的单例类。

  单例的创建分Non-ARC(非ARC)和ARC+GCD,后者现在用的比较广泛,它保证了线程的安全,满足了静态分析器的要求,还兼容了ARC,代码如下:

+(AccountManager *)sharedManager{  static AccountManager *sharedAccountManagerInstance = nil;  static dispatch_once_t predicate;  dispatch_once(&predicate, ^{    sharedAccountManagerInstance = [[self alloc] init];  });  return sharedAccountManagerInstance;}


原标题:IOS中的单例设计模式

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。