错误无法在 NSTimer 的 userInfo 中用数组下标 'AnyObject?' 类型的值

Error Cannot subscript a value of type 'AnyObject?' with Array in userInfo of a NSTimer

你好,这是我的代码:

我不明白为什么会出现此错误...有人可以帮助我吗?

userInfoAnyObject。不能下标 AnyObject.

listAlienBullet 投射到 Array 个 SKSpriteNodes。

if let listAlienBullet = timer.userInfo as? [SKSpriteNode] {
    let alienForDestroying = listAlienBullet[0]
    let bulletForDestroying = listAlienBullet[1]
}

你把一个SKSpriteNode的数组放到定时器的userInfo中。 当计时器触发被调用的方法时 returns userInfo 作为 AnyObject。 只需将对象向下转换为正确的类型。

let listAlienBullet = timer.userInfo as! [SKSpriteNode] 
let alienForDestroying = listAlienBullet[0]
let bulletForDestroying = listAlienBullet[1]