在Swift中,我可以使用元组作为字典中的键吗?

前端之家收集整理的这篇文章主要介绍了在Swift中,我可以使用元组作为字典中的键吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如果我能以某种方式使用x,y对作为我的字典的关键
let activeSquares = Dictionary <(x: Int,y: Int),SKShapeNode>()

但我得到的错误

Cannot convert the expression's type '<<error type>>' to type '$T1'

错误

Type '(x: Int,y: Int)?' does not conform to protocol 'Hashable'

那么,我们如何使它符合?

Dictionary的定义是struct Dictionary< KeyType:Hashable,ValueType> :…,即密钥的类型必须符合协议Hashable。但语言指南告诉我们 protocols can be adopted by classes,structs and enums,即不是元组。因此,元组不能用作字典键。

解决方法是定义一个包含两个Ints(或任何你想放在你的元组中)的哈希表结构类型。

猜你在找的Swift相关文章