單例

單例的作用

在整個項目中,這個類的對象只能被初始化一次。可以廣泛應用於某些需要全局共享的資源中,比如管理類,引擎類,也可以通過單例來實現傳值。

UIApplication、NSUserDefaults等都是IOS中的系統單例。

單例的寫法

單例的寫法常用的有兩種方式:

方式1、不考慮線程

//#import "Single.h"
static Single *defaultmanager = nil;     
+ (Single *)defaultManager {  
    if (!defaultmanager){ 
        SingleCase = [[self alloc] init];  
        return manager; 
        }
}

方式2、考慮線程安全

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章