单例的写法

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;
}

posted @ 2014-11-04 11:51  沙影无痕  阅读(146)  评论(0编辑  收藏  举报