嵌套的Swift词典

嵌套的Swift词典,第1张

概述我想用嵌套在里面的字典初始化一个字典,如下所示: var a = [Int:[Int:Float]]()a[1][2] = 12 但是我收到一个错误: (Int:[Int:Float]) does not have a member named 'subscript' 我已经攻击了其他各种方法,所有这些方法都遇到了某种问题. 知道为什么这不起作用吗? 您可以像这样创建自己的2D字典: struc 我想用嵌套在里面的字典初始化一个字典,如下所示:

var a = [Int:[Int:float]]()a[1][2] = 12

但是我收到一个错误:

(Int:[Int:float]) does not have a member named 'subscript'

我已经攻击了其他各种方法,所有这些方法都遇到了某种问题.

知道为什么这不起作用吗?

解决方法 您可以像这样创建自己的2D字典:

struct Dict2D<X:Hashable,Y:Hashable,V> {    var values = [X:[Y:V]]()    subscript (x:X,y:Y)->V? {        get { return values[x]?[y] }        set {            if values[x] == nil {                values[x] = [Y:V]()            }            values[x]![y] = newValue        }    }}var a = Dict2D<Int,Int,float>()a[1,2] = 12println(a[1,2]) // Optional(12.0)println(a[0,2]) // nil

重点是通过[x,y]而不是[x] [y]或[x]?[y]访问元素.

总结

以上是内存溢出为你收集整理的嵌套的Swift词典全部内容,希望文章能够帮你解决嵌套的Swift词典所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存