Giao thức ‘Hashable’ sử dụng như thế nào?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
61 lượt xem
Swift master

Trong Swift, giao thức Hashablecomponent 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 DictionariesSets. 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:

  1. Tính năng ===. Tính năng này kiểm tra các tham chiếu đối tượng (chỉ có thể được sử dụng với các lớp). Nó kiểm tra xem đối tượng bên trái có cùng tham chiếu với đối tượng bên phải hay không. Ngay cả khi cả hai đối tượng có các giá trị thuộc tính giống hệt nhau NHƯNG chúng có một tham chiếu khác nhau, nó sẽ trả về false.
  2. Tính năng == (Giao thức Equatable). Nó kiểm tra xem các đối tượng có bằng nhau hay không dựa trên hàm tĩnh ==. Bạn có thể trả về hashValue của đối tượng. Theo cách đó, bạn có thể nói các đối tượng bằng nhau dựa trên các thuộc tính, thay vì tham chiếu.

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.

{{login.error}}