什么是单例?

2016-07-13  本文已影响600人  陪你看日出去

什么是单例?

(1)定义:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例。
(2)要点:某个类只能有一个实例;他必须自行创建这个实例;它必须向整个系统提供这个实例;
(3)优点:
** a、实例控制:单例会阻止其他对象实例化其自己的单例对象的副本,从而去报所用对象都访问唯一实例。**
** b、灵活性:以为类控制了实例化过程,所以累可以更加灵活修改实例化过程;**
(4)在Object—C中要实现e单例类,至少需要以下四个步骤:
** a、为单例对象实现一个静态实例,并初始化,然后设置为nil;**
** b、事项里一个实例构造方法检查上面声明的静态实例是否为nil,如果是则新建并返回一个本类的实例;**
** c、重写allocWithZone方法,用来保证其他人直接室友alloc和init视图获得一个新实例的时候不产生一个新实例;**
** d、适当实现allocWithZone,copyWithZone。release和autorelease。**
参考:http://www.cnblogs.com/lyanet/archive/2013/01/11/2856468.html

3、什么是单例模式?什么时候使用单例模式?

(1)单例模式是iOS中常用的一种设计模式。单例模式是一个雷在系统中只用一个实例对象。通过全局的一个入口点对这个实例对象进行访问;
(2)在程序中,单例模式经常用于只希望一个类中有一个实例,而不运行一个类还有两个以上的实例。当然,在iOS SDK中,根据特定的需求,有些类不仅提供了单例访问的接口,还为开发者提供了实例化一个新的对象那个接口,例如:NSFileManager可以通过defaultManager方法返回想你通的一个NSFileManager对象,如果需要新的一个NSFileManager实例对象,可以通过init方法;
(3)iOS中单例模式的实现方式一般分为两种:Non_ARC(非ARC)和ARC+GCD。

上一篇 下一篇

猜你喜欢

热点阅读