iOS 三種單例模式寫法

2021-07-29 22:33:18 字數 767 閱讀 2104

單例模式是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例類的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。

一、(執行緒不安全)

#import "singleton.h"

@implementation

singleton

static singleton *_singleton = nil;

+ (id)sharedsingleton

return _singleton;

}end

二、使用dispatch_once只建立一次
#import "singleton.h"

@implementation

singleton

+ (id)sharedsingleton );

return _singleton;

}end

三、重寫了系統提供的initialize(執行緒安全的方式)
#import "singleton.h"

@implementation

singleton

static singleton *_singleton = nil;

+ (void)initialize

}+ (id)shareddatacenterbyinitialize

end

單例模式的三種寫法

這裡介紹三種單例模式寫法。第一種 餓漢模式 類載入時就初始化 public class singletonhungry public static singletonhungry getinstance 第二種 懶漢模式 類載入時不初始化,當呼叫getinstance方法時初始化 public cl...

單例模式的三種寫法

創造型模式 單例模式 餓漢式 推薦優點 在類載入的時候就已經建立好了例項,沒有執行緒同步的問題 缺點 如果這個例項從始至終都沒有用到,那麼就會造成記憶體浪費 方法一 使用靜態物件 public class singleton 提供乙個靜態方法返回例項物件 public static singleto...

C 單例模式的三種寫法

第一種最簡單,但沒有考慮執行緒安全,在多執行緒時可能會出問題,不過俺從沒看過出錯的現象,表鄙視我 public class singleton public static singleton createinstance return instance 第二種考慮了執行緒安全,不過有點煩,但絕對是正...