我有一个符合Hashable的结构。该模型放在Set
中。当我检查集合是否包含模型时,它会随机返回true / false。为什么会这样?
enum Feature: String {
case a
case b
}
struct FeatureState: Hashable {
let feature: Feature
let isEnabled: Bool
}
extension FeatureState: Equatable {
static func == (lhs: FeatureState,rhs: FeatureState) -> Bool {
lhs.feature == rhs.feature
}
}
let fs1 = FeatureState(feature: .a,isEnabled: false)
let fs2 = FeatureState(feature: .a,isEnabled: true)
featureStates.insert(fs1)
print(featureStates.contains(fs2)) // sometimes true,sometimes false