ios 單列模式

今天發現原來有兩種可實現單例模式的方法,現在貼出來與大家分享

第一種:這個是以前一直在使用的。

static Control *mControl;

...
+(id)getShare
{
    if (mControl == nil) {
        mControl = [[Control alloc] init];
    }
    return mControl;

}

第二種:這是今天新發現的。

+ (BDMultiDownloader *)shared

{
    static dispatch_once_t once;
    static BDMultiDownloader * singleton;
    dispatch_once(&once, ^ { singleton = [[BDMultiDownloader alloc] init]; });
    return singleton;
}

dispatch_once_t這是系統函數

發佈了16 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章