iOS-单例模式

swift的单例设计模式

class SQLiteManager {    // 设计单例对象    
    static let shareInstance : SQLiteManager = SQLiteManager()
}

OC的单例设计模式

// 一般使用为单例就足够了,每次都用shareSingle创建对象//获取单例
+ (instancetype)shareSingle {    
    static LLGSingleDayAndNight *single = nil;
    // 添加同步锁,一次只能一个线程访问,如果有多个线程访问,等待,一个访问结束后下一个访问    
    @synchronized (self) {        
        if (single == nil) {            
        single = [[LLGSingleDayAndNight alloc]init];        
        }    
    }    
    return single;
}

+(instancetype)sharedInstance{    
    static id sharedInstance = nil;    
    static dispatch_once_t onceToken;           
    dispatch_once(&onceToken, ^{        
        sharedInstance = [[self alloc] init];    
    });   
    return sharedInstance;
}

新学习一种单例思想

iOS-单例模式_第1张图片
静态区存放单例对象.png

你可能感兴趣的:(iOS-单例模式)