嵌套的Swift词典
发布时间:2020-12-14 04:45:02 所属栏目:百科 来源:网络整理
导读:我想用嵌套在里面的字典初始化一个字典,如下所示: var a = [Int:[Int:Float]]()a[1][2] = 12 但是我收到一个错误: (Int:[Int:Float]) does not have a member named 'subscript' 我已经攻击了其他各种方法,所有这些方法都遇到了某种问题. 知道为什么这不起
我想用嵌套在里面的字典初始化一个字典,如下所示:
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] = 12 println(a[1,2]) // Optional(12.0) println(a[0,2]) // nil 重点是通过[x,y]而不是[x] [y]或[x]?[y]访问元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |