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
https://beenii.tistory.com/187
'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 |
댓글