gpt4 book ai didi

swift - 我正在尝试创建一个 hasable 结构。但每次都得到 "MyNewHasableStruct does not conform to protocol Hashable "

转载 作者:行者123 更新时间:2023-11-30 12:09:59 25 4
gpt4 key购买 nike

以下是我遇到问题的代码片段。我对 Hasbale 的理解是,它应该安慰“==”和“hashValue”,但由于错误,我也覆盖了“<”,但仍然面临同样的问题。

struct MyNewHasableStruct {
let oneString: String
let oneInt: Int
}

extension MyNewHasableStruct : Hashable {
var hasValue : Int {
return oneString.hashValue ^ oneInt.hashValue
}

static func == (lhs: MyNewHasableStruct, rhs: MyNewHasableStruct) -> Bool {
return lhs.oneInt == rhs.oneInt && lhs.oneString == rhs.oneString
}


static func < (lhs: MyNewHasableStruct, rhs: MyNewHasableStruct) -> Bool {
return lhs.oneInt < rhs.oneInt && lhs.oneString < rhs.oneString
}

}

最佳答案

var hasValue : Int 应该是 var hashValue : Int

struct MyNewHasableStruct {
let oneString: String
let oneInt: Int
}

extension MyNewHasableStruct : Hashable {
var hashValue : Int {
return oneString.hashValue ^ oneInt.hashValue
}

static func == (lhs: MyNewHasableStruct, rhs: MyNewHasableStruct) -> Bool {
return lhs.oneInt == rhs.oneInt && lhs.oneString == rhs.oneString
}


static func < (lhs: MyNewHasableStruct, rhs: MyNewHasableStruct) -> Bool {
return lhs.oneInt < rhs.oneInt && lhs.oneString < rhs.oneString
}

}

关于swift - 我正在尝试创建一个 hasable 结构。但每次都得到 "MyNewHasableStruct does not conform to protocol Hashable ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46194480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com