Trong Swift, giao thức Hashable là component chính được sử dụng để cung cấp khả năng hashing cho các kiểu tùy chỉnh. Nó được sử dụng phổ biến nhất để cho phép các kiểu được sử dụng làm key của Dictionaries và Sets. Nếu một đối tượng tuân theo giao thức Hashable, nó cần phải có một hashValue. hashValue có thể được sử dụng để so sánh các đối tượng / xác định đối tượng duy nhất.
Bạn có thể so sánh các đối tượng theo hai cách:
Nếu bạn cung cấp hashValue của riêng mình, bạn có thể nói các đối tượng bằng nhau theo cách bạn nói các đối tượng bằng nhau, bất kể tham chiếu đến đối tượng. Bạn có thể sử dụng các đối tượng trong một Set phù hợp với giao thức Hashable, vì một Set kiểm tra xem các đối tượng có bằng nhau hay không dựa trên hashValue.