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

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

概述我想知道如果我能以某种方式使用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)?' 我想知道如果我能以某种方式使用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中,我可以使用元组作为字典中的键吗?全部内容,希望文章能够帮你解决在Swift中,我可以使用元组作为字典中的键吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存