iOS 單例模式詳解
關於單例模式的使用,系統中有很多單面模式使用的例子 如:
[UIApplication sharedApplication]
[NSUserDefaults standardUserDefaults]
[NSNotificationCenter defaultCenter]
.......
本文將講解
1,如何建立及使用單例類
新建一個工程
建立繼承與NSObject檔案
在.h 中宣告單例物件
.m中
這是最初的建立方法,但是這麼建立會出現過資料混亂,爭奪資源的情況(多執行緒的出現,使得在極端條件下,單例也可能返回了不同的物件。如在單例初始化完成前,多個程式同時訪問單例,那麼這些程式可能都獲得了不同的單例物件。)
為了避免這種情況我們要加入以下程式碼
此時的單例類大致已經建立好了
我們在 AppDelegate
然後在ViewController
此時一切OK了嗎?並沒有,單例,單例 就是保證其唯一性
此時的單例類的子類是可以繼承的。
那麼就要限制子類來繼承它
2,如何防止子類繼承
此時單例類建立單例物件並不唯一,如
3,保證建立例項物件只能出現一個
這時我們要重寫單例類的init方法
這時我們的單例類就完成啦!
相關文章
- iOS 單例詳解iOS單例
- 詳解 - 單例模式單例模式
- Java單例模式詳解Java單例模式
- 設計模式之單例模式詳解設計模式單例
- iOS - 單例模式iOS單例模式
- c#中單例模式詳解C#單例模式
- Android 常用設計模式(二) -- 單例模式(詳解)Android設計模式單例
- iOS 設計模式之單例模式iOS設計模式單例
- IOS 單例模式的學習iOS單例模式
- Javascript設計模式Revealing Module 揭示模式單例模式詳解JavaScript設計模式單例
- iOS中的單例設計模式iOS單例設計模式
- iOS設計模式詳解iOS設計模式
- java-單例詳解Java單例
- iOS設計模式反思之單例模式的進化iOS設計模式單例
- PHP單例模式模擬Java Bean實現方法示例詳解PHP單例模式JavaBean
- .Net設計模式例項詳解設計模式
- 詳談單例、餓漢、和懶漢模式單例模式
- 單例模式單例模式
- iOS – 單例模式寫一次就夠了iOS單例模式
- python單例的使用詳解Python單例
- EventBus詳解及簡單例項單例
- iOS單例物件iOS單例物件
- 你敢說自己瞭解單例模式?單例模式
- 設計模式-單例模式設計模式單例
- [設計模式] 單例模式設計模式單例
- 設計模式 —— 單例模式設計模式單例
- 設計模式(單例模式)設計模式單例
- 建立型模式:單例模式模式單例
- 創造模式 單例模式模式單例
- 設計模式——單例模式設計模式單例
- 設計模式--單例模式設計模式單例
- javascript 模式(2)——單例模式JavaScript模式單例
- 建立型模式————單例模式模式單例
- 設計模式 單例模式設計模式單例
- 單例模式解析單例模式
- 單例模式(3)單例模式
- php單例模式PHP單例模式
- JS 單例模式JS單例模式