单例—单例—单例 初始化方法

//单例的空间在整个程序运行的时候都不会被回收, 因此户存在内存泄露的情况, 他的存在是为了解决特定问题

初级

+ (Singleton *)mainSingleton

{

    //静态变量

    static Singleton *single = nil;

    if (!single) {

        single = [[Singleton alloc]init];

    }

    return single;

}

终极

+ (id)defaultManager {

    //静态变量

    static DatabaseManager *dbManager = nil;

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        dbManager = [[DatabaseManager alloc]init];

    });

    

    return dbManager;

}

转载于:https://www.cnblogs.com/tapple/p/4898963.html

你可能感兴趣的:(单例—单例—单例 初始化方法)