iOS開發(fā)-NSCache

一、NSCache知識(shí)點(diǎn)補(bǔ)充

  • 01.NSCache是專門用來(lái)進(jìn)行緩存處理的

  • 02.NSCache簡(jiǎn)單介紹:

    • 2-1 NSCache是蘋果官方提供的緩存類,具體使用和NSDictionary類似,在AFN和SDWebImage框架中被使用來(lái)管理緩存
    • 2-2 蘋果官方解釋NSCache在系統(tǒng)內(nèi)存很低時(shí),會(huì)自動(dòng)釋放對(duì)象(但模擬器演示不會(huì)釋放)
      建議:接收到內(nèi)存警告時(shí)主動(dòng)調(diào)用removeAllObject方法釋放對(duì)象
    • 2-3 NSCache是線程安全的,在多線程操作中,不需要對(duì)NSCache加鎖
    • 2-4 NSCache的Key只是對(duì)對(duì)象進(jìn)行Strong引用,不是拷貝
  • 03 屬性介紹:

    • name:名稱
    • delegete:設(shè)置代理
    • totalCostLimit:緩存空間的最大總成本,超出上限會(huì)自動(dòng)回收對(duì)象。默認(rèn)值為0,表示沒有限制
    • countLimit:能夠緩存的對(duì)象的最大數(shù)量。默認(rèn)值為0,表示沒有限制
    • evictsObjectsWithDiscardedContent:標(biāo)識(shí)緩存是否回收廢棄的內(nèi)容
  • 04 方法介紹

//在緩存中設(shè)置指定鍵名對(duì)應(yīng)的值,0成本
- (void)setObject:(ObjectType)obj forKey:(KeyType)key;
//在緩存中設(shè)置指定鍵名對(duì)應(yīng)的值,并且指定該鍵值對(duì)的成本,用于計(jì)算記錄在緩存中的所有對(duì)象的總成本,
//出現(xiàn)內(nèi)存警告或者超出緩存總成本上限的時(shí)候,緩存會(huì)開啟一個(gè)回收過(guò)程,刪除部分元素
- (void)setObject:(ObjectType)obj forKey:(KeyType)key cost:(NSUInteger)g;
//刪除緩存中指定鍵名的對(duì)象
- (void)removeObjectForKey:(KeyType)key;
//刪除緩存中所有的對(duì)象
- (void)removeAllObjects;
最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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