【发布时间】:2015-04-11 17:49:00
【问题描述】:
我正在构建一些东西,在 Swift 1.2 发布之前一切正常。我做了一些更改,但仍然有一行代码运行良好。我不明白为什么会这样:
let swiftArray = positionDictionary.objectForKey["positions"] as? [AnyObject]
它给了我一个错误:
'(AnyObject) -> AnyObject?'没有名为“下标”的成员
我也试过用这个:
let swiftArray = positionDictionary.objectForKey?["positions"] as? [AnyObject]
然后我收到一条错误消息:
后缀 '?' 的操作数应该有一个可选类型;类型是'(AnyObject) -> AnyObject?'
我真的很困惑...有人可以帮忙吗?
func addOrbsToForeground() {
let orbPlistPath = NSBundle.mainBundle().pathForResource("orbs", ofType: "plist")
let orbDataDictionary : NSDictionary? = NSDictionary(contentsOfFile: orbPlistPath!)
if let positionDictionary = orbDataDictionary {
let swiftArray = positionDictionary.objectForKey["positions"] as? [AnyObject]
let downcastedArray = swiftArray as? [NSArray]
for position in downcastedArray {
let orbNode = Orb(textureAtlas: textureAtlas)
let x = position.objectForKey("x") as CGFloat
let y = position.objectForKey("y") as CGFloat
orbNode.position = CGPointMake(x,y)
foregroundNode!.addChild(orbNode)
}
}
【问题讨论】:
标签: swift