天天看點

設計一個不強引用對象的單例字典

設計一個不強引用對象的單例字典

設計一個不強引用對象的單例字典

大家都知道,使用NSDictionary存儲對象的時候會強引用對象,導緻被存儲對象的引用計數+1,有時候,我們想用單例來存儲對象,但又不希望強引用存儲的對象,這該怎麼實作呢?

在這裡,我們可以使用NSMapTable來實作這個功能.

我直接給出源碼:

WeakDictionary.h   +   WeakDictionary.m

測試代碼:

測試圖例:

設計一個不強引用對象的單例字典

至于為何要設計出這麼一種單例出來,這種不增加對象引用計數卻能持有對象的單例,你想想能有什麼用處呢:)