繁体   English   中英

Swift不能在struct内部使用任何变量

[英]Swift cannot use any variables inside of struct

我有一个结构,轨迹。

struct Trajectory {

        var invisibleBall: SKSpriteNode!
        var count = Int()
        var copiedNodes = Array<SKSpriteNode>()


    }

当我尝试使用Trajectory内部的任何变量时出现此错误, Instance member 'invisibleBall' cannot be used on type 'GameScene.Trajectory'这是为什么。 我以前多次使用这种结构。

    Trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")
    //this is where i get the error

这是因为您不是从Trajectory创建实例,而是应该这样做:

let trajectory = Trajectory()
trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")

或者,如果你非常肯定,你会直接使用它从结构,那么你应该声明invisibleBall作为一个静态属性:

struct Trajectory {

        static var invisibleBall: SKSpriteNode!
        var count = Int()
        var copiedNodes = Array<SKSpriteNode>()
}

那么您将能够:

Trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")

您需要初始化一个Trajectory对象。 因此,您只需将代码更改为:

let trajectory = Trajectory()
trajectory.invisibleBall = self.childNode(withName: "//invisibleBall")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM