gpt4 book ai didi

Swift 5.+ - 使类可散列?

转载 作者:行者123 更新时间:2023-12-02 02:52:55 24 4
gpt4 key购买 nike

我是 swift 的新手,所以请原谅任何明显的误解。我已经尝试研究但没有好的答案。

我有一个具有以下迭代的 NavigationView

ForEach(listOfStuff, id: \.self)

listOfStuff 被定义为符合 Hashable 的结构,一切正常。

我想将结构更改为类,但无法弄清楚如何使类 Hashable 以便 \.self 起作用(它一直提示该类必须是 Hashable )

例子老了还是一直在讲struct。我什至不知道我是否可以在 ForEach 中使用一个类?我该怎么办?

谢谢

最佳答案

这是在描述的用例中使用基于类的模型的示例。使用 Xcode 11.4 测试

class Stuff: Hashable, Equatable {
static func == (lhs: Stuff, rhs: Stuff) -> Bool {
lhs.title == rhs.title
}

func hash(into hasher: inout Hasher) {
hasher.combine(title)
}

var title: String = ""
}

struct StaffView: View {
let listOfStaff: [Stuff]

var body: some View {
ScrollView {
ForEach(listOfStaff, id: \.self) { stuff in
Text(stuff.title)
}
}
}
}

关于Swift 5.+ - 使类可散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61648927/

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