单例类

//1:.m中创建一个全局的静态的SingleClass对象的指针,初始值nil
static SingleClass *single = nil;


@implementation SingleClass

// 该方法用来创建一个人单例类
+ (id)sharedSingleClass{
    //2:调用GCD的once方法//能够保证{}代码段整个程序运行过程中只会被执行一次//代码快中的代码只会被第一次调用sharedSingleClass方法被执行,从第二次开始调用时代码块中的代码不会被执行
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{//block代码块,代码段
        //3:实例化SingleClass对象的指针
        single = [[SingleClass alloc] init];
    });
    return single;//只有第一次调用时进行初始化,从第二次开始都是直接返回第一次初始化的对象的首地址
}


 

posted @ 2015-04-29 21:01  小学生之码  阅读(90)  评论(0编辑  收藏  举报