程序员iOS

iOS设计模式4 - 单例模式(Singleton)

2018-07-18  本文已影响69人  朱_源浩

一、解析

单例模式的意思就是只有一个实例。
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。

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];
上一篇 下一篇

猜你喜欢

热点阅读