Может как то так?
extension Array: Hashable where Iterator.Element: Hashable {
public var hashValue: Int {
return self.reduce(1, { $0.hashValue ^ $1.hashValue })
}
}
Пользовательское значение хеша - это просто значение, которое вы в любом случае определяете
* Редактировать: Это также будет работать, если вы хотите Hashable
для Survey
массив
extension Array: Hashable where Element == Survey {
public var hashValue: Int {
return self.reduce(1, { $0.hashValue ^ $1.hashValue })
}
}