Skip to content

ZalyalovIldar/SwiftCachingLesson

Repository files navigation

SwiftCachingLesson

ДЗ

Так-как на паре мы с вами прошли 2 способа кэширования, то дз будет связано с ними.
Вам предоставляется уникальная возможность написать менеджер по работе с кэшированием.
Дальше добавляете switch для кеширования картинок с NSCache или SDwebImage на экран.
И в collectionView нужно будет подгрузить и отобразить картинки с текстом, и кешировать все это дело через менеджер.

Менеджер:

  • Менеджер должен быть покрыт протоколами, чтобы вы могли легко подменить реализацию.
  • Менеджер должен иметь методы делегата DataSource, которые возвращают какой элемент и по какому ключу был удален, обновлен, добавлен.
  • Менеджер должен давать возможность кешировать массив картинок, конкретную картинку.
  • Менеджер должен давать возможность кешировать текст.
  • Менеджер должен давать возможность выбора кеширования картинок стандартными средствами (NSCache) или SDWebImage
  • Менеджер должен давать возможность добавлять, обновлять, удалять элемент из кэша.

Контроллер:

  • Контроллер должен реализовывать DataSource протокол менеджера
  • Ну и все остальное для реализации подгрузки, выбора кеширования и отображения collectionView

P.S

ВСЕ кэшироване ТОЛЬКО через менеджер, никаких методов SDWebImage снаружи в вашем контроллере быть не должно. Т.К. SDWebImage дает возможность не только кэшировать, но и подгружать картинку, то один из методов вашего кэш. менеджера должен быть типа "cache(by url: URL)" где вы сможете подгрузить и закешировать картинку c пощью SDWebImage.

P.P.S

Pod's в .gitignore добавляйте плиз. Делайте коммиты описывающие вашу работу поэтапно.
Комментируйте не понятные моменты кода.
Следите за код.стайлом (в частности именования методов и переменных).
Удаляйте закомментированные куски кода перед пушем пулреквеста.
Перепроверьте хотя бы 1 раз после того, как запушите финальную версию.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published