본문 바로가기
iOS/iOS

NSCache와 NSDictionary의 차이를 설명하시오.

by 황민우 2022. 6. 9.

NSCache와 NSDictionary의 차이점

 

1, 시스템 메모리를 과도하게 사용하지 않도록 삭제하는 정책에서 딕셔너리는 코드를 통해 메모리를 관리하지만, NSCache는 자동 삭제 정책을 통해 일부 항목을 제거해 메모리를 관리합니다.

 

2, NSDictionary에 비해 NSCache는 Thread-Safe 하게 구현되어 있어, 여러 스레드에서 접근할 때 lock을 걸어줄 필요가 없이 다른 스레드에서 캐시의 항목을 추가, 제거, 검색할 수 있습니다. 

 

3, NSDictionary 객체는 동작 방식에 따라 Key로 사용되는 객체가 복사되지만, NSCache는 Key객체를 복사하지 않고 retain 카운트를 증가시킵니다. 

 

 

정리

  NSDictionary NSCache
메모리 부족 값을 삭제하는 코드 작성 자동 관리
안전성 Thread-unsafe Thread-safe
Key Key 복사 (동작방식) Key 복사 X (retain 카운트 증가)

 


내용출처

https://inuplace.tistory.com/1050

 

[Swift] NSCache와 NSDictionary의 차이점

NSCache 다짜고짜 차이점을 찾기 전에 NSCache가 뭔지부터 알아보자. NSCache는 메모리캐싱에 주로 사용되는 객체라고 알려져 있다. 리소스가 부족하면 자동으로 삭제되는 key-value 쌍을 임시로 저장하

inuplace.tistory.com

https://beenii.tistory.com/187

 

이미지 캐시 처리와 NSCache

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

beenii.tistory.com

 

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

Result타입  (0) 2022.06.13
접근 제어자의 종류  (0) 2022.06.11
NSCache  (0) 2022.06.08
참조의 종류 [Strong, Weak, Unowned]  (0) 2022.06.07
Stack View 스택뷰 (이론)  (0) 2022.06.04

댓글