一、解析
单例模式的意思就是只有一个实例。
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
1. 单例模式的要点:
显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
2. 单例模式的优点:
1)实例控制:Singleton
会阻止其他对象实例化其自己的Singleton 对象的副本,从而确保所有对象都访问唯一实例。
2)灵活性:
因为类控制了实例化过程,所以类可以更加灵活修改实例化过程
二、实现
1. 单例类
.h文件:
+(SingletonClass*)sharedManager;//实现单例的静态方法
.m文件:
static SingletonClass*sharedInstance = nil;//静态实例
+ (SingletonClass*)sharedManager
{
static dispatch_once_t once;//确保只做一次初始化,实现单例
dispatch_once(&once, ^{
sharedInstance = [[self alloc]init];
//其他数据初始化操作
//sharedInstance.year = 2;
});
return sharedInstance;
}
2. 调用单例类
SingletonClass *cl = [SingletonClass sharedManager];