iOS中編寫單例類的心得

 單例設計模式

一、認識過的單例類有哪些:安全

NSUserDefaults、NSNotificationCenter、NSFileManager、UIApplication多線程

 

二、單例類spa

單例類某個類在代碼編寫時使用了單例設計模式線程

 

三、單例設計模式設計

 

見過的設計模式:MVC 代理 觀察者代理

設計模式:經驗豐富的人總結出的一套經驗、方法對象

 

特色:單例模式一般用於單例類中 單例類就是這個類只有一個實例(對象)資源

 

使用場景:it

一、在整個應用程序中,共享一份資源,應該讓這個類建立出來的對象永遠只有一個

二、某些類的操做比較消耗系統資源 此時應該讓這個類建立出來的對象永遠只有一個

 

 

單例類的構建

一:

靜態方法獲取實例,爲你的單例類聲明一個靜態的實例,而且初始化它的值爲nil

 

二:

在獲取實例的方法中,只有在靜態實例爲nil的時候,產生一個你的類的實例,這個實例一般被稱爲共享的實例

 

三:

分析重寫allocWithZone

重寫alloc

重寫allocWithZone

 

四:

多線程實現線程安全 添加@synchronized代碼塊

 

五:(optional)

重寫copy相關方法 copyWithZone、mutableCopyWithZone  返回實例

 

ARC下以上幾步就OK了

 

MRC下酌情考慮增長第六步

六:

release、retain、retainCount 和 autorelease,用於保證單例具備一個正確的狀態。

相關文章
相關標籤/搜索