NSCache勝過NSDictionary之處在于厉斟,當(dāng)系統(tǒng)資源將要耗盡時(shí)欧聘,它可以自動刪減緩存捂蕴。如果采用普通的字典顽铸,那么就要自己編寫掛鉤茁计,在系統(tǒng)發(fā)出“低內(nèi)存”通知時(shí)手工刪減緩存。
NSCache并不會“拷貝”鍵谓松,而是會“保留”它星压。此行為用NSDictionary也可以實(shí)現(xiàn)践剂,然而需要編寫相當(dāng)復(fù)雜的代碼。NSCache對象不拷貝鍵的原因在于:很多時(shí)候娜膘,鍵都是不支持拷貝操作的對象來充當(dāng)?shù)难犯R虼耍琋SCache不會自動拷貝鍵竣贪,所以說军洼,在鍵不支持拷貝操作的情況下,該類用起來比字典更方便演怎。另外匕争,NSCache是線程安全的,而NSDictionary則絕對不具備此優(yōu)勢颤枪。