Closed QuaRang1225 closed 1 week ago
불필요한 네트워크 요청을 줄이기 위해 서버에서 받아온 response데이터를 캐싱하기로 함 여기서 두가지를 선택할 수 있음
NSCache
- 장점
- 시스템 메모리를 많이 사용하지 않게하고 다른곳에서 메모리를 사용할경우 캐시에서 아이템을 제거하여 관리해줌
- 쓰레드의 안전성
- NSMutableDictionary와 다르게 캐시의 키객체를 복사하지않아 메모리적으로 안전
- 단점
- 무조건 참조타입만 사용할 수 있다.(구조체의 경우 사용할 수 없음)
Dictionary
- 장점
- 값타입 데이터도 저장할 수 있다.
- 조금더 포괄적인 의미로 넓게 설계하여 사용할 수 있다.
- 단점
- 쓰레드의 불안전성
- 데이터 충돌을 방지하기 위한 코드 수 증가
위의 내용을 고려하여 현재 코드에서의 서버에서 받아온 데이터 타입은 모두 값타입(struct)이기 때문에 딕셔너리를 사용해서 데이터를 저장하는 방식을 채택하기로 결정
참고
다른 잇슈로 세분화하여 진행
현재 앱 생명주기적으로 봤을 때 다음과 같은 로직이 사용됨