无法访问对象节点 Swift 内的属性

费利佩·费尔南德斯

我在快速访问节点对象的自定义属性时遇到问题。我会试着向你解释。

我创建了一个继承自 SkSpriteNode 的类,并创建了一个调用( Has Gluten )的属性

    init(foodName:  String, foodNote: String, foodImage: SKTexture, hasGluten: Bool) {
        self.foodNote = foodNote
        self.foodImage = foodImage
        self.hasGluten = hasGluten
        self.foodName = foodName

        super.init(texture: foodImage, color: UIColor.clear, size: CGSize(width: 40, height: 40))
        self.position = CGPoint(x: Int.random(in: 0..<355), y: 600)
        self.name = self.foodName

    }

直到这里 好的,但是当我将此节点添加到屏幕并激活触摸开始时,我无法访问该类中的属性 HasGluten .. 它说我只能访问本机属性,例如(名称、位置等)

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
{
    let touch:UITouch = touches.first!
    let positionInScene = touch.location(in: self)
    let touchedNode = self.atPoint(positionInScene)
    if touchedNode.hasGluten == true { callfunction() } else {call another function}

}

这是我想要访问该属性的点。但是当我尝试访问属性 HasGluten 时,它没有给我。

如果有人可以提供帮助,我会很高兴。谢谢

斯维亚托斯拉夫·亚基米夫

为了访问您的属性,您应该将节点对象强制转换为您的自定义类型:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
{
    let touch:UITouch = touches.first!
    let positionInScene = touch.location(in: self)
    guard let touchedNode = self.atPoint(positionInScene) as? CustomNode else { return }
    if touchedNode.hasGluten == true { callfunction() } else {call another function}

}

而是CustomNode使用正确的类名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法访问对象属性

来自分类Dev

无法访问 JSON 对象内的数组/属性

来自分类Dev

Swift-设置后无法访问Typealias属性

来自分类Dev

codeigniter:无法访问对象属性

来自分类Dev

无法访问Vuex存储对象的属性

来自分类Dev

猫鼬-无法访问对象属性?

来自分类Dev

无法访问从Firebase返回的对象属性

来自分类Dev

无法访问液体对象属性(Jekyll)

来自分类Dev

codeigniter:无法访问对象属性

来自分类Dev

无法访问JavaScript对象属性

来自分类Dev

无法访问指令内部对象的属性

来自分类Dev

无法访问对象中的继承属性

来自分类Dev

无法访问Controller中对象的属性

来自分类Dev

无法访问Laravel中的对象属性

来自分类Dev

无法访问JSON对象属性

来自分类Dev

无法访问 Laravel 中的对象属性

来自分类Dev

我无法访问对象的属性

来自分类Dev

Javascript 对象无法访问其属性

来自分类Dev

Laravel 5.6 无法访问对象的属性

来自分类Dev

无法访问对象属性的值

来自分类Dev

无法访问服务响应内的对象

来自分类Dev

无法访问对象内的键

来自分类Dev

在Swift中更改For循环内的对象属性

来自分类Dev

React.js:无法访问状态对象内的对象属性

来自分类Dev

Swift:似乎无法访问嵌套数组中的对象

来自分类Dev

子对象无法访问父对象的受保护属性

来自分类Dev

无法访问对象函数内的对象键?

来自分类Dev

无法访问请求中对g对象设置的属性

来自分类Dev

调用回调时无法访问对象属性