iOS-单例

一、单例的作用

单例,顾名思义,即是在整个项目中,这个类的对象只能被初始化一次。它的这种特性,可以广泛应用于某些需要全局共享的资源中,比如管理类,引擎类,也可以通过单例来实现传值。UIApplication、NSUserDefaults等都是IOS中的系统单例。

二、单例的写法

写法一:(不考虑线程)

 

static SingleCase *manager = nil;  
    
+ (SingleCase *)defaultManager {  
    if (!manager){ 
        SingleCase = [[self alloc] init];  
        return manager; 
        }
}

 

写法二:(考虑线程安全)

+ (SingleCase *)sharedManager  
{  
        static SingleCase *ManagerInstance = nil;  
        static dispatch_once_t predicate;  
        dispatch_once(&predicate, ^{  
                ManagerInstance = [[self alloc] init];   
        });  
    return ManagerInstance;  
}

可以参照:http://www.jianshu.com/p/7486ebfcd93b 

posted @ 2016-04-05 17:16  ALO羗子  阅读(100)  评论(0编辑  收藏  举报