본문 바로가기
iOS/iOS

NSCache

by 황민우 2022. 6. 8.

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

'iOS > iOS' 카테고리의 다른 글

접근 제어자의 종류  (0) 2022.06.11
NSCache와 NSDictionary의 차이를 설명하시오.  (0) 2022.06.09
참조의 종류 [Strong, Weak, Unowned]  (0) 2022.06.07
Stack View 스택뷰 (이론)  (0) 2022.06.04
ARC와 GC의 차이점  (0) 2022.06.03

댓글