Так-как на паре мы с вами прошли 2 способа кэширования, то дз будет связано с ними.
Вам предоставляется уникальная возможность написать менеджер по работе с кэшированием.
Дальше добавляете switch для кеширования картинок с NSCache или SDwebImage на экран.
И в collectionView нужно будет подгрузить и отобразить картинки с текстом, и кешировать все это дело через менеджер.
Менеджер:
- Менеджер должен быть покрыт протоколами, чтобы вы могли легко подменить реализацию.
- Менеджер должен иметь методы делегата DataSource, которые возвращают какой элемент и по какому ключу был удален, обновлен, добавлен.
- Менеджер должен давать возможность кешировать массив картинок, конкретную картинку.
- Менеджер должен давать возможность кешировать текст.
- Менеджер должен давать возможность выбора кеширования картинок стандартными средствами (NSCache) или SDWebImage
- Менеджер должен давать возможность добавлять, обновлять, удалять элемент из кэша.
Контроллер:
- Контроллер должен реализовывать DataSource протокол менеджера
- Ну и все остальное для реализации подгрузки, выбора кеширования и отображения collectionView
ВСЕ кэшироване ТОЛЬКО через менеджер, никаких методов SDWebImage снаружи в вашем контроллере быть не должно. Т.К. SDWebImage дает возможность не только кэшировать, но и подгружать картинку, то один из методов вашего кэш. менеджера должен быть типа "cache(by url: URL)" где вы сможете подгрузить и закешировать картинку c пощью SDWebImage.
Pod's в .gitignore добавляйте плиз.
Делайте коммиты описывающие вашу работу поэтапно.
Комментируйте не понятные моменты кода.
Следите за код.стайлом (в частности именования методов и переменных).
Удаляйте закомментированные куски кода перед пушем пулреквеста.
Перепроверьте хотя бы 1 раз после того, как запушите финальную версию.