Ios 在字典中设置值
我需要访问并替换字典中的项目。我正绞尽脑汁想如何用Swift来做这件事。我加载一个plist,它看起来像这样:Ios 在字典中设置值,ios,arrays,swift,nsmutabledictionary,Ios,Arrays,Swift,Nsmutabledictionary,我需要访问并替换字典中的项目。我正绞尽脑汁想如何用Swift来做这件事。我加载一个plist,它看起来像这样: <dict> <key>Brynthia</key> <array> <dict> <key>x</key> <integer>389</integer> <key>y</key> &
<dict>
<key>Brynthia</key>
<array>
<dict>
<key>x</key>
<integer>389</integer>
<key>y</key>
<integer>267</integer>
<key>moves</key>
<array>
<integer>31</integer>
<integer>1</integer>
<integer>30</integer>
<integer>3</integer>
<integer>7</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
</array>
</dict>
<dict>
<key>x</key>
<integer>457</integer>
<key>y</key>
<integer>275</integer>
<key>moves</key>
<array>
<integer>31</integer>
<integer>6</integer>
<integer>30</integer>
<integer>0</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
<integer>-1</integer>
</array>
</dict>
</array>
</dict>
布林提亚
x
389
Y
267
移动
31
1.
30
3.
7.
-1
-1
-1
-1
-1
x
457
Y
275
移动
31
6.
30
0
-1
-1
-1
-1
-1
-1
我需要修改数组的每个字典中的x和y值。我用来阅读它们的代码是:
var kings:[NSMutableDictionary] = []
var coords:NSMutableDictionary?
var x = 0.00
var y = 0.00
for var i=0;i<4;i++ {
kings=mapDict?.objectForKey(kingdomNames[i]) as! [NSMutableDictionary]
for var loc=0;loc<kings.count;loc++ {
coords = kings[i]
x=coords!.valueForKey("x")
y=coords!.valueForKey("y")
x=x * Double(ratioWidth)
y=y * Double(ratioHeight)
}
}
var:[NSMutableDictionary]=[]
var coords:NSMutableDictionary?
var x=0.00
变量y=0.00
对于var i=0;i由于kings
是一个可变异的Swift数组,您可以使用coords
上的普通.setValue
方法修改coords
,然后将其分配回数组中的适当元素:
coords.setValue(x, forKey: "x")
kings[i] = coords
作为旁注:摆脱Obj-C风格。使用[String:AnyObject]
isoNSMutableDictionary
和mapDict?[kingdomNames[i]]
之后。这当然很简单。我肯定是想把它复杂化。谢谢