使用场景编辑器获取 SKSpriteNode 的 userData

get userData of SKSpriteNode using the scene editor

我在场景编辑器中设置了我的 SKSpriteNode 的用户数据:

然后我尝试获取它,使用:

let sprite:SKSpriteNode = self.childNode(withName: "sprite") as? SKSpriteNode
let numero:Int = sprite.userdata?.valueForKey("numero") as! Int

但我得到的是零值:"fatal error: unexpectedly found nil while unwrapping an Optional value"

我还尝试用以下方法初始化用户数据:

sprite.userData? = NSMutableDictionary()

但结果相同...

可能你的精灵也为零:

尝试使用可选绑定(如果允许)和 sprite 前的“//”搜索您的 sprite。

if let sprite = self.childNode(withName: "//sprite") as? SKSpriteNode {
       let numero:Int = sprite.userdata?.valueForKey("numero") as! Int
} else {
   print("I cannot find sprite..")
}

它从当前位置执行递归搜索。 检查 API 引用 here.