Swift: NSCache

Feb 23 2023
Słownik to powszechnie używana struktura danych w programowaniu na iOS. Zapewnia szybki dostęp do wartości za pomocą klawiszy.
Zdjęcie Ruchindry Gunasekara na Unsplash

Słownik to powszechnie używana struktura danych w programowaniu na iOS. Zapewnia szybki dostęp do wartości za pomocą klawiszy. Ale jest jeden problem, który może mieć Słownik : jeśli dane są duże, zajmują pamięć aplikacji i nie są zbyt wydajne, jeśli większość wartości nie jest często używana. Rozważ użycie NSCache do rozwiązania problemu z pamięcią. Elementy w NSCache zostaną automatycznie usunięte, jeśli aplikacja będzie potrzebowała pamięci.

Na przykład,

Biorąc pod uwagę listę kanałów, każdy z listą adresów URL obrazów.

Zdalne ładowanie dużych obrazów i konwertowanie danych do formatu UIImages jest kosztowne. W praktyce zapisalibyśmy obrazy w pamięci podręcznej, gdybyśmy chcieli później szybko uzyskać do nich dostęp.

Załóżmy, że są to obrazy wysokiej jakości, a każdy obraz ma 10 MB; jeśli jeden kanał ma 10 obrazów, to 100 MB na kanał. jeśli mamy 10 kanałów, to już 1 GB w pamięci. Jeśli umieścimy obrazy w pamięci podręcznej w słowniku bez ręcznego zarządzania pamięcią, szybko napotkamy problem z pamięcią.

Ale jeśli umieścimy obrazy w pamięci podręcznej NSCache , możemy kontynuować buforowanie wartości bez martwienia się o problem z pamięcią, ponieważ elementy w NSCache zostaną automatycznie usunięte, jeśli zabraknie nam pamięci.

Aby użyć NSCache :

Zostań członkiem Medium , czytaj więcej wspaniałych historii i rozwijaj swoją karierę.

Aby uzyskać więcej treści premium, przejdź do: