Чем Comparable отличается от Equatable и когда что выбрать?
Что хотят услышать интервьюеры:
Сравнение: Comparable нужно оценивать в контексте задачи, а не как универсально лучший вариант. В сравнении с Equatable смотрите на ownership, lifecycle, читаемость, поддержку разных iOS версий, тестируемость и риск ошибок.
Ответ:
Нюанс: используется для сортировки и ordered types.
Как отвечать: назвать критерии выбора, привести реальный пример и честно обозначить ограничения.
struct Version: Comparable {
static func < (a: Self, b: Self) -> Bool {
true
}
}