美文网首页程序员iOS
iOS设计模式4 - 单例模式(Singleton)

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

作者: 朱_源浩 | 来源:发表于2018-07-18 10:31 被阅读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];
    

    相关文章

      网友评论

        本文标题:iOS设计模式4 - 单例模式(Singleton)

        本文链接:https://www.haomeiwen.com/subject/palpsttx.html