概念:
Typical Class:多個實例
Singleton :單個實例
優(yōu)點:
全局變量\公用組件可以快速實現(xiàn) api
實現(xiàn):
- 聲明一個單例對象的靜態(tài)實例,并初始化為 nil
- 在該類的類工廠方法(名稱類似
shareInstance
或者sharedManager
)中生成該類的一個實例,但僅當(dāng)靜態(tài)實例為 nil 的時候 - 重載
-allocWithZone
確保用戶視圖直接分配或者初始化實例時,不會分配出另外一個對象 - 實現(xiàn)基本協(xié)議方法:
copyWithZone
release
retain
retainCount
autorelease
,以保證單例的狀態(tài)
應(yīng)用場景:
[UIApplication sharedApplication];
[NSNotificationCenter defaultCenter];
[NSUserDefaults standardUserDefaults];
[UIAccelerometer sharedAccelerometer];
[NSURLSession sharedSession];