Дженерики Swift #3: Type Constraints - Comparable, Equatable, Hashable
Привет и добро пожаловать на продолжение бесплатного мини-курса по изучению "Дженериков". В этом видео мы наконец решим проблему из прошлого урока - почему findMaximum не компилировался.
Разберем три ключевых протокола: Comparable, Equatable и Hashable. Объясню каждый через простую аналогию из жизни, покажу их иерархию, научимся выбирать правильный протокол и комбинировать ограничения через &.
После этого видео ты будешь понимать, когда какой протокол ставить и почему. Надеюсь ты усвоишь материал, сможешь решить домашнее задание, жду твой результат в комментариях - понял ты материал или нет и увидимся в следующем видео, до скорого!
👨🎓 Дополнительный материал:
=============================
Презентация.excalidraw336.96 Kb
⏰ Тайминги:
=============================
=============================
00:00 - Приветствие
00:50 - Почему T нельзя сравнивать?
04:50 - Что такое Comparable?
08:10 - Что такое Equatable?
10:00 - Проблема замыканий для всех протоколов темы
10:10 - Автосинтез для Equatable
13:30 - Пример для понимания Equatable
15:28 - Что такое Hashable?
20:58 - Что такое коллизия?
23:08 - Иерархия трёх протоколов
26:27 - Как поддерживать несколько ограничений?
27:50 - Подведение итогов
29:40 - Решение домашнего задания