单例的写法

来源:互联网 发布:c语言所有函数 编辑:程序博客网 时间:2024/05/16 11:21
static LocationManager *sharedLocationManager = nil;

/*
+ (LocationManager *)sharedInstance
{
    
    if (!sharedLocationManager) {
        
        sharedLocationManager = [[self allocWithZone:NULL] init];
    }
    
    return sharedLocationManager;
}
*/
// iOS SDK 4.0 之后
+ (LocationManager *)sharedInstance
{
    static LocationManager *sharedLocationManager = nil;
    static dispatch_once_t predicate;
    
    dispatch_once(&predicate, ^{
        
        sharedLocationManager = [[self alloc] init];
        
    });
    
    return sharedLocationManager;
}
0 0
原创粉丝点击