在單列中創(chuàng)建數(shù)組應(yīng)該注意些什么

單列里面添加 NSMutableArray 的時(shí)候,防止多個(gè)地方對(duì)它同時(shí)便利和修改的話,需要加原子屬性。并且用strong,并且寫(xiě)一個(gè)遍歷和修改的方法。加上鎖。? Lock? UnLock

第一、基本概念

單例模式是一種常用的軟件設(shè)計(jì)模式。在它的核心結(jié)構(gòu)中只包含一個(gè)被稱為單例類的特殊類。通過(guò)單例模式可以保證系統(tǒng)中一個(gè)類只有一個(gè)實(shí)例而且該實(shí)例易于外界訪問(wèn)。

第二、在IOS中使用單例模式的情況

1.如果說(shuō)創(chuàng)建一個(gè)對(duì)象會(huì)耗費(fèi)很多系統(tǒng)資源,那么此時(shí)采用單例模式,因?yàn)橹恍枰粋€(gè)實(shí)例,會(huì)節(jié)省alloc的時(shí)間

2.在IOS開(kāi)發(fā)中,如果很多模塊都要使用同一個(gè)變量,此時(shí)如果把該變量放入單例類,則所有訪問(wèn)該變量的調(diào)用變得很容易,否則,只能通過(guò)一個(gè)模塊傳遞給另外一個(gè)模塊,這樣增加了風(fēng)險(xiǎn)和復(fù)雜度

第三、創(chuàng)建單例模式的基本步驟

1.聲明一個(gè)單例對(duì)象的靜態(tài)實(shí)例,并初始化為nil

2.聲明一個(gè)類的工廠方法,生成一個(gè)該類的實(shí)例,并且只會(huì)生成一個(gè)

3.覆蓋allcoWithZone方法,確保用戶在alloc 時(shí),不會(huì)產(chǎn)生一個(gè)多余的對(duì)象

4.實(shí)現(xiàn)NSCopying協(xié)議,覆蓋release,autorelease,retain,retainCount方法,以確保只有一個(gè)實(shí)例化對(duì)象

5.在多線程的環(huán)境中,注意使用@synchronized關(guān)鍵字

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

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

  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,652評(píng)論 30 472
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,811評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評(píng)論 19 139
  • 臨近中午,嘎娘決定在做飯之前,再到菜市場(chǎng)看看那個(gè)賣炒雞的人來(lái)了沒(méi)有。 上次,誤打誤撞的買了一回那個(gè)人在市場(chǎng)當(dāng)場(chǎng)做的...
    a宮雨閱讀 280評(píng)論 0 2
  • 問(wèn):WORD里邊怎樣設(shè)置每頁(yè)不同的頁(yè)眉?如何使不同的章節(jié)顯示的頁(yè)眉不同? 答:分節(jié),每節(jié)可以設(shè)置不同的頁(yè)眉。文件—...
    一葉_紅楓閱讀 2,289評(píng)論 1 7

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