我正在尝试创建一个字典,其中键作为我创建的结构,值作为 Ints 数组。但是,我不断收到错误消息:
类型“DateStruct”不符合协议“Hashable”
我很确定我已经实现了必要的方法,但由于某种原因它仍然不起作用。
这是我实现协议的结构:
struct DateStruct {
var year: Int
var month: Int
var day: Int
var hashValue: Int {
return (year+month+day).hashValue
}
static func == (lhs: DateStruct, rhs: DateStruct) -> Bool {
return lhs.hashValue == rhs.hashValue
}
static func < (lhs: DateStruct, rhs: DateStruct) -> Bool {
if (lhs.year < rhs.year) {
return true
} else if (lhs.year > rhs.year) {
return false
} else {
if (lhs.month < rhs.month) {
return true
} else if (lhs.month > rhs.month) {
return false
} else {
if (lhs.day < rhs.day) {
return true
} else {
return false
}
}
}
}
}
有人可以向我解释为什么我仍然收到错误吗?