单例(Singleton)模式

来源:互联网 发布:淘宝卖家温馨寄语 编辑:程序博客网 时间:2024/06/06 23:45

单例(Singleton)模式                                                                                   

一、如果一个类始终只能创建一个实例,则这个类被称为单例类。

单例类可通过static全局变量来实现,程序考虑定义一个static全部变量,该变量用于保存已创建的Singleton对象——每次程序需要获取该实例时,程序先判断该static全局变量是否为nil,如果该全局变量为nil,则初始化一个实例并赋值给static全局变量。

1.在main()函数中调用单例方法

[Single defaultManager]; //单例是类方法 需要通过类名调用

2.在类声明文件中声明一个单例方法

  • (id)defaultManager;

3.在类实现文件中

在这个类方法中控制类最多只会产生一个实例。

首先在声明文件中定义一个静态全局变量

static Single *single = nil; 

单例方法实现

+ (id)defaultManager

{

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        single = [[Single alloc]init];

    });

    return single;

}

0 0
原创粉丝点击