gpt4 book ai didi

swift - Swift 字典中一个键的多个值

转载 作者:行者123 更新时间:2023-11-28 11:29:50 25 4
gpt4 key购买 nike

我想知道在 Swift 的字典中使用多个值类型的可能性有多大。

例如,如果我有一个名为 cats 的字典,这个字典的键是字符串“Bob”。现在我希望“Bob”有 2 个值,1 个 bool 值和 1 个字符串。例如 True 和“Red”

var cat = [String: [Bool, String]]()

上面的失败了

"Generic struct 'Dictionary' requires that 'String.Type' conform to 'Hashable'.

我试过了

var cat = [Hashable: [Bool, String]]()

但这提供了错误

Generic struct 'Dictionary' requires that 'Hashable.Protocol' conform to 'Hashable'

我想举个例子:

var cat = ["Bob": [False, "Red"], "Albert": [True, "Black"]]

这是否可能,如果不是,那么什么才是好的解决方案?

编辑:

我使用结构解决了我的问题,但是使用元组的建议似乎也帮助我解决了问题!

谢谢解决了:)

最佳答案

您正在做的是对字典、类型或两者的滥用。我建议你重新考虑你的整个方法。如果您要将名称与字符串和 bool 值相关联,请创建自定义结构:

struct Person : Hashable {
let name : String
let favoriteColor : String
let knowsSwift : Bool
}

现在您可以将这些存储在一个集合中并按姓名提取一个,或者您可以制作一个按姓名键入的人物字典,或其他任何内容。

关于swift - Swift 字典中一个键的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57186454/

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