iOS開發(fā)-設(shè)計模式-單例模式

概念:整個應(yīng)用或系統(tǒng)只能有該類的一個實例

在iOS開發(fā)我們經(jīng)常碰到只需要某類一個實例的情況,最常見的莫過于對硬件參數(shù)的訪問類,比如UIAccelerometer.這個類可以幫助我們獲得硬件在各個方向軸上的加速度,但是我們僅僅需要它的一個實例就夠了,再多,只會浪費內(nèi)存。

所以蘋果提供了一個UIAccelerometer的實例化方法+sharedAccelerometer,從名字上我們也能看出此方法讓整個應(yīng)用共享一個UIAccelerometer實例(PS:iOS 的開放中,我們往往能從方法名中就了解這個方法的作用),它內(nèi)部的如何實現(xiàn)我們暫且不談,先來看看還有哪些類同樣使用了單例模式。

●?UIApplication類提供了 +sharedAPplication方法創(chuàng)建和獲取UIApplication單例

●?NSBundle類提供了 +mainBunle方法獲取NSBundle單例

●?NSFileManager類提供了 +defaultManager方法創(chuàng)建和獲得NSFileManager單例。(PS:有些時候我們得放棄使用單例模式,使用-init方法去實現(xiàn)一個新的實例,比如使用委托時)

●?NSNotificationCenter提供了 +defaultCenter方法創(chuàng)建和獲取NSNotificationCenter單例(PS:該類還遵循了另一個重要的設(shè)計模式:觀察者模式)

●?NSUserDefaults類提供了 +defaultUserDefaults方法去創(chuàng)建和獲取NSUserDefaults單例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容