Свифт: NSCache

Feb 23 2023
Словарь — это часто используемая структура данных в разработке для iOS. Обеспечивает быстрый доступ к значениям по ключам.
Фото Ручиндры Гунасекара на Unsplash

Словарь — это часто используемая структура данных в разработке для iOS. Обеспечивает быстрый доступ к значениям по ключам. Но у словаря может быть одна проблема: если данные большие, они будут занимать память приложения, и это не очень эффективно, если большинство значений не используются часто. Рассмотрите возможность использования NSCache для решения проблемы с памятью. Элементы в NSCache будут автоматически удалены, если для приложения требуется память.

Например,

Дан список каналов, каждый со списком URL-адресов изображений.

Удаленная загрузка больших изображений и преобразование данных в UIImages обходится дорого. На практике мы должны кэшировать изображения, если хотим быстро получить к ним доступ позже.

Допустим, это изображения высокого качества, и каждое изображение составляет 10 МБ; если в одном фиде 10 изображений, это 100 МБ на фид. если у нас есть 10 каналов, это уже 1 ГБ в памяти. Если мы кэшируем изображения в словаре , не управляя памятью вручную, мы быстро столкнемся с проблемой памяти.

Но если мы кэшируем изображения в NSCache , мы можем продолжать кэшировать значения, не беспокоясь о проблеме с памятью, потому что элементы в NSCache будут автоматически удалены, если у нас закончится память.

Чтобы использовать NSCache :

Станьте участником Medium , читайте больше замечательных историй и развивайте свою карьеру.

Чтобы получить больше премиум-контента, перейдите по ссылке: