2017-01-18 1 views
0

저는 데이터, 텍스트, 이미지를 오프라인 모드에서도 사용할 수 있도록 프로젝트를 만들고 있습니다.iOS 앱의 로컬 저장소에 이미지를 저장해야합니까?

이미지 URL과 기타 데이터가 포함 된 웹 서비스에서 데이터를 가져옵니다. 핵심 데이터 엔티티에 텍스트 데이터를 저장하지만 이미지를 로컬에 저장하지 않고 실시간으로 가져옵니다.

오프라인 모드에서 이미지를 보려면 로컬 저장 장치에 이미지를 저장해야합니다. 그러나 그것이 올바른 접근 방법이 될지 궁금합니다. 로컬에 이미지를 저장하면 사용자의 기기에 많은 저장 공간이 생길 수 있습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

이미지를 로컬에 저장해야합니까, 아니면 런타임에 가져와야합니까?

답변

2

NSCache를 사용하십시오. NSCache를 사용하면 얼마나 많은 이미지가 캐시되는지에 대한 제한을 설정할 수 있습니다. 자세한 내용은 Apple의 설명서를 참조하십시오. https://developer.apple.com/reference/foundation/nscache?language=objc

+0

감사합니다. 앱을 다시 시작한 후에 NSCache가 삭제되지 않았습니까? –

1

이미지를 로컬에 저장해야합니까, 아니면 런타임에만 가져와야합니까?

이 질문은 당신이 무엇을 필요로하는지, 무엇이 당신의 앱에 더 적합한 지 결정해야합니다. 어떤 식 으로든 이미지를 캐시하려면이 라이브러리를 사용하는 것이 좋습니다. SDWebImage

+0

나는 이것이 내가 결정해야하는 것에 동의한다. 그러나 제 질문은 모범 사례와 이상적인 시나리오에 관한 것입니다. 개인적으로 데이터를 다운로드하고 휴대 전화 저장 공간을 사용하는 앱을 개인적으로 좋아하지 않습니다. 그러나 일반적으로 300MB 이미지를 다운로드하여 응용 프로그램 디렉토리에 저장하여 다시 사용할 수 있습니까? –

+0

괜찮습니다. 이제 내 비전이 바뀌었고 300MB의 이미지가 너무 커서 다운로드 한 이미지를 캐시하는 데 제한을 설정할 수 없다고 생각합니다. – Gabrail

관련 문제