Swift version: 5.10
Hash values are an invaluable way of identifying data uniquely, and any type that conforms to the Hashable
protocol can be used to create all or part of a hash value by using the Hasher
struct.
To use this, create an instance of Hasher
, provide it with whatever objects you want to hash, then call finalize()
to generate the final value as an integer. For example:
struct iPad: Hashable {
var serialNumber: String
var capacity: Int
}
let first = iPad(serialNumber: "12345", capacity: 128)
let second = iPad(serialNumber: "abcde", capacity: 512)
var hasher = Hasher()
hasher.combine(first)
hasher.combine(second)
let hash = hasher.finalize()
SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until February 9th.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.