iOS开发:单例(Static)模式
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
1.单例模式的要点:
显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
2.单例模式的优点:
1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本,从而确保所有对象都访问唯一实例。
2.灵活性:因为类控制了实例化过程,所以类可以更加灵活修改实例化过程.
1。初始化一个Singleton类:
//定义两个属性,用来测试
//定义一个方法
2。实现单例方法:实际上就是一个初始化singleton的过程
**注意:static
*dispatch_once_t :该方法的作用就是执行且在整个程序的声明周期中,仅执行一次某一个block对象。而且,有些我们需要在程序开头初始化的动作,如果为了保证其仅执行一次,也可以放到这个dispatch_once来执行。
3。测试结果:
(1)在viewcontroller中调用shareInstance方法:
[[Singleton shareInstance] setName:@"张三"];
[[Singleton shareInstance] setAge:20];
(2)在SecondViewController中打印结果:
NSLog(@"%@ %ld", [[Singleton shareInstance] name], [[Singleton shareInstance]age]);
张三 20
(3).如果在SecondViewController中重新赋值:
[[Singleton shareInstance ]setName:@"李四"];
再次打印结果是:李四 20