iOS/iOS

NSCache

황민우 2022. 6. 8. 17:00

NSCache

class NSCache<KeyType, ObjectType>: NSObject where KeyType: AnyObject, ObjectType: AnyObject

- Memory Caching에 사용되는 클래스로, 메모리에서 해제될 때 자동으로 캐시된 내용이 제거됩니다.

- Thread-Safe 하기도 합니다. 따라서 여러 스레드에서 접근할 때에도 Cache에 lock을 걸어줄 필요가 없습니다.

- Key-Value 형태의 데이터를 임시로 저장하는 데에 사용할 수 있는 가변 컬렉션입니다.

 

NSCache의 주요 프로퍼티

var name: String 캐시의 이름
var countLimit: Int 캐시가 가질 수 있는 최대한의 객체 수
var totalCostLimit: Int  객체를 제거하기 전에 캐시가 보유할 수 있는 최대 비용
func object(forKey:KeyType) -> ObjectType? 주어진 Key와 연결된 값을 반환
func setObject(ObjectType, forKey: KeyType) 캐시에 주어진 Key와 그에 대응되는 값 입력
func removeObject(forKey: KeyType) 캐시에 주어진 Key에 대응되는 값 제거
func removeAllObjects() 캐시 초기화(비우기)

내용출처

https://beenii.tistory.com/187

 

이미지 캐시 처리와 NSCache

이미지 캐시 처리를 해봅시다! 최근 iOS 프로젝트를 하다가 이미지 캐싱 작업을 하기 위해 NSCache를사용했습니다! 자세히 모르는 상태에서 이미지 캐싱 부분을 구현하긴 했는데... 그

beenii.tistory.com