Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 3.14 KB

README.md

File metadata and controls

32 lines (27 loc) · 3.14 KB

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 раз после того, как запушите финальную версию.