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词典所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)